有没有办法在 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`)
我正在尝试在 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`)