调用方式: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)]6915"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 }`
