偶然发现这个新东西,ES6也有模板了,是使用反引号`,来表示的。
这个新东西被称为字符串字面量,就是模板字符串。它使JS也有了简单的字符串插值特性。
为什么说是简单呢,因为因为它不能不能自动转义特殊字符,不能处理特殊语言格式的日期、时间什么的,也没有循环,,
所以它现在只是一个处理输出字符串的东西,目前无法替代模板引擎。
它的用法很简单,这样:
console.log( `我是 $(json.name)` );
这个$(json.name)就是模板占位符,JS会把相应的值,输出安插在一对反引号``中,对应的位置上。然后输出出来就是这样:我是尚瑞。
这种方式比传统的 += 要优雅许多。模板占位符可以是任何的JS表达式,也可以嵌套使用。
要是你想在反引号模板字符串中使用反引号,那就用\转义一下就可以了。
模板字符串还可以跨多行,就这样:
`
我是 $(name),
你是 $(name2)
`
反正它就是原样输出,你什么空格,换行,缩进都原样输出。
因为目前模板字符串功能还比较弱,ES6给它提供了另一个模板: 标签模板,它算是模板字符串的升级版。它的使用方法就是在反引号前加个SaferHTML,但这东西还不是ES6标准库的,你还得自己实现。。。
我看到这已经不想再看下去了,有学它的功夫我还不如找个好用的的JS模板呢。
谁要是有兴趣,就请自己继续研究下ES6的模板字符串吧。