不知道在哪看到了模板字符串做为函数的调用这种用法,开始看到的时候很懵逼,由于原来根本不知道模板字符串还能这么用,也没见过有人这样用过。javascript
doSomething`my name is ${name}`
复制代码
后来在MDN上又去看了下模板字符串相关的章节,才知道这个用法是模板字符串的一种高级应用,叫作标签模板。整体来讲就是定义一个函数来解析传入的模板字符串。此函数的第一个参数是模板字符串的字符部分组成的一个数组。好比上面那个my name is ${name}
,那么第一个参数就是['my name is', '' ,'']
后面连个空值是${name}
先后是空值。标签标签函数后面的参数就是,模板字符串中插入的变量,若是有一个变量那么就增长一个参数。java
其实应用的话很简单就是对模板字符串进行重组和各类条件计算。更高级一点的就是进行模板解析了。。。。。数组