javascript模板字面量范围



我想在模板文本中声明一个变量,然后在同一模板中使用它,这是可能的吗?如果这是不可能的,这似乎是一个缺失的功能对我来说。

const tmp = tag`
some random text, ${let myvar = 55} more text,
even more text ${myvar}
`

模板字面量只能返回两种情况:

  • 它们组成的部分
  • 中间值

如果你想在不同的值之间共享一个变量,它们必须是封闭的
如果你想使用一些计算,你必须传入一个函数

const tmp = (() => {
let myvar;
return tag`
some random text, ${() => myvar = 55} more text,
even more text ${() => myvar}
and the double text ${() => myvar + myvar}
`
})()

最新更新