检查字符串是否是 JavaScript 中的模板文字

Dan*_*del 6 javascript string syntax template-literals

是否可以测试字符串是否为模板文字

就像是:

const x = "foo"
const y = `${x}bar`  // "foobar"

isTemplateLiteral(x) // false
isTemplateLiteral(y) // true
Run Code Online (Sandbox Code Playgroud)

Dek*_*kel 3

模板文字只是一种语法/javascript 结构,而不是该语言中的新对象类型。当处理器遍历代码行并且返回的值是字符串时,会生成模板文字的值,因此 - 您无法检查该值是由字符串文字还是常规字符串生成。

顺便说一句,如果你使用 babel 并且希望输出是有效的 ES5 - 字符串文字将被转换为某种字符串连接(var y = x + 'bar')。