2

ES6 提供模板字符串,例如

`Hello ${name}`

在这种情况下,会调用默认模板构建器。您也可以使用自己的“标签”:

tag`Hello ${name}`

wheretag是一个函数,它传递有关模板字符串的信息并生成结果。

我的问题是,有没有办法覆盖没有指定标签时调用的默认函数?

另一个问题:除了检查属性的第一个参数之外,有没有办法确定系统是否正在调用标记函数来构造模板字符串,而不是直接调用raw

4

1 回答 1

1

不,它们是具有不同语义含义的不同句法产生。`stuff`更类似于字符串文字,而tag`stuff`更类似于函数调用。

于 2014-11-09T01:03:51.067 回答