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

Check if a string is a template literal in JavaScript

是否可以测试字符串是否为 template literal

类似于:

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

isTemplateLiteral(x) // false
isTemplateLiteral(y) // true

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

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