标签模板字符串的使用与解释
let name = 'james'
let age = 36
function foo(...args) {
console.log(args); //打印如下图
}
foo`my name is ${name}, age is ${age}` //调用foo函数
打印的截图
上面,就可以看出 foo函数被成功的调用了,使用了标签模板字符串
跟正常的调用函数foo()
方式有所不一样
解释打印的想象
一个函数调用,会把参数放到arguments中。
打印的上面是一个二维数组
数组的第一个元素,是一个数组
在使用标签模板字符串调用函数时,会把传递的内容,保存在一个数组中,其中是以
S{}
进行分割;my name is ${name}, age is ${age} 就会进行分割,然后保存在数组中
['my name is ', ', age is ', ''] //其中空格也会被保留下来 //最后一个元素为空字符串,是因为在${age}也会进行分割,所以会有空字符串
数组后的其他元素,就是解析过后的变量值了
${name} -------> james ${age} -------> 36
所以 james 36会分别添加到数组中