我正在尝试在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
是否有可能,如果可以的话,正确的做法是什么?
谢谢。
答案 0 :(得分:5)
只需使其由函数返回即可:
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
答案 1 :(得分: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
答案 2 :(得分:1)
您可以简单地使用Tagged templates
let temp= (num) => `Number is: ${num}`;
console.log(temp `1`);
console.log(temp `2`)