模板字符串竟然还有这种用法

133 阅读1分钟

不知道在哪看到了模板字符串作为函数的调用这种用法,开始看到的时候很懵逼,因为原来根本不知道模板字符串还能这么用,也没见过有人这样用过。

doSomething`my name is ${name}`

后来在MDN上又去看了下模板字符串相关的章节,才知道这个用法是模板字符串的一种高级应用,叫做标签模板。总体来说就是定义一个函数来解析传入的模板字符串。此函数的第一个参数是模板字符串的字符部分组成的一个数组。比如上面那个my name is ${name},那么第一个参数就是['my name is', '' ,''] 后面连个空值是${name}前后是空值。标签标签函数后面的参数就是,模板字符串中插入的变量,如果有一个变量那么就增加一个参数。

其实应用的话很简单就是对模板字符串进行重组和各种条件计算。更高级一点的就是进行模板解析了。。。。。