【发布时间】:2017-06-10 13:46:36
【问题描述】:
为什么在下面使用模板文字的 ES2015 代码中不需要括号?
['a', 'b'].join`|` // a|b
【问题讨论】:
标签: javascript
为什么在下面使用模板文字的 ES2015 代码中不需要括号?
['a', 'b'].join`|` // a|b
【问题讨论】:
标签: javascript
很确定这是一个“标记的模板字符串”。来自 ES6 wiki:
示例:如果模板字符串前面有一个表达式,则它被认为是一个标记的模板字符串。模板字符串之前的表达式被解析后的模板字符串调用。
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 0);
return 'whatever';
}
tag `a${ 42 }b` // "whatever"
【讨论】: