《JavaScript高程》第四版关于字符串模板字面量标签那里的案例:
let a = 6;
let b = 9;
function simpleTag(strings, aValExpression, bValExpression, sumExpression) {
console.log(strings);
console.log(aValExpression);
console.log(bValExpression);
console.log(sumExpression);
return 'foobar';
}
let untaggedResult = `${ a } + ${ b } = ${ a + b }`;
let taggedResult = simpleTag`${ a } + ${ b } = ${ a + b }`;
在参考了文章 https://www.softwhy.com/artic... 之后我觉得console.log(strings);输出的结果和我预想的不一样,我
觉得输出的数组应该是[' ','+',' ','=',' ']
应该是5个元素,空格,加号,空格,等号,空格。
不知道是不是我理解的错误。
应当是
[ '', ' + ', ' = ', '' ]
。不是说把外面的字符一个一个放进数组,第一个参数是模板参数和边界的间隔。