根据 MDN,标记模板文字可以按如下方式使用:
var a = 5;
var b = 10;
function tag(strings, ...values) {
alert(strings[0]); // "Hello "
alert(strings[1]); // " world "
alert(values[0]); // 15
alert(values[1]); // 50
return "Bazinga!";
}
tag `Hello ${ a + b } world ${ a * b }`; // "Bazinga!"
在上面的示例中,tag
调用函数时不使用括号。
我希望它应该被称为 like tag(`Hello`)
,但是它将模板文字产生的字符串作为函数参数的参数传递strings
。
不带括号但带参数调用函数的这个特殊功能是什么?