在 ES6 中为模板字符串创建标签函数时,该函数需要一个literals
参数和一个values
参数。
tagFunc `Hello ${someVar}`;
function tagFunc(literals, ...values){
// do something
}
但是,它不提供对原始的、未评估的、解构的模板的访问。像这样的例子:
tagFunc `Hello ${someVar}`;
function tagFunc(literals, ...values, template){
// template would be 'Hello ${someVar}'
}
或者也许是literals.originalTemplate
要补充的属性literals.raw
。
这有什么具体原因吗?我能想到的最好的办法是,如果将变量名传递给标记函数,可能会有一些安全隐患?