有没有办法在 Javascript 中重新使用模板文字?

Is there a way to re-use a template literal in Javascript?

我正在尝试在 javascript 中重新使用模板文字。

这不起作用:

let int;
let temp= `Number is: ${int}`;
console.log(temp)
// Number is: undefined
int = 1;
console.log(temp)
// Number is: undefined
int = 2;
console.log(temp)
// Number is: undefined

我认为更改 int 变量会在模板中动态更改。但我学到了其他东西:D

有可能吗?如果有的话,正确的做法是什么?

谢谢。

简单地让它由函数返回:

let int;
let temp= () => `Number is: ${int}`;
console.log(temp())
// Number is: undefined
int = 1;
console.log(temp())
// Number is: 1
int = 2;
console.log(temp())
// Number is: 2

您最好的选择是为此创建一个函数。

function getTemp(int) {
  return `Number is: ${int}`;
}


let int;
console.log(getTemp(int))
// Number is: undefined
int = 1;
console.log(getTemp(int))
// Number is: undefined
int = 2;
console.log(getTemp(int))
// Number is: undefined

您可以简单地使用 Tagged templates

let temp= (num) => `Number is: ${num}`;

console.log(temp `1`);
console.log(temp `2`)