调用方式:simpleTag${ a } + ${ b } = ${ a + b }
第一个参数strings是去除了${}后分隔的片段组成的数组
剩下的参数是${}里的值
用途:可以把${ a } + ${ b } = ${ a + b }
里的${}值作为参数分解出来
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';
}
// 调用标签函数
simpleTag`${ a } + ${ b } = ${ a + b }`
// 结果
["", " + ", " = ", "", raw: Array(4)]
6
9
15
"foobar"
用spread operator改写
let a = 6;
let b = 9;
function simpleTag(strings, ...expressions) {
console.log(strings); // 第一个参数传入的肯定是数组
for(const expression of expressions){
console.log(expression)
}
return 'foobar';
}
// 调用标签函数
simpleTag`${ a } + ${ b } = ${ a + b }`