可以在模版字符串的前面加标签,这个标签的作用是处理模版字符串里的字符和插入的那些值。
这里说的标签其实就是一个函数,不过用起来跟普通的函数还是有点区别。
例子:
let dessert = 'cake', drink = 'tea' let breakfast =kitchen `今天的早餐是${dessert}与${drink}!`; //定义标签函数 function kitchen(strings,...values){ //Strings:模版字符串里每一部分的字符;...values:模版字符串里的值 console.log(strings); //["今天的早餐是","与","!""] console.log(values); //["cake","tea"] }
在标签里面可以分别处理一下这个字符串里的每一个部分,比如可以检查字符串里面是不是有不能够包含的东西、在货币的前面添加一个货币符号、去转换字符串里的html代码、去把这个字符串转换成其他的语言等等
正常输出模版字符串里的东西,我们可以这样:
function kitchen(strings,...values){ let result =''; for(var i=0;i<values.length;i++){ result += strings[i]; //每次循环让result加上字符 result += values[i]; //每次循环让result加上模版字符串里的插值 } result += strings[strings.length-1]; //result加上最后 一部分字符 return result; } console.log(breakfast) //今天的早餐是cake与tea!