ES 6引入了模板字面量(Template Literals),主要通过多行字符串(Multi-line Strings)和字符串占位符对字符串的操作进行增强。
在ES 5中,如果一个字符串面量要分为多行,那么可以采用以下两种方法来实现。
(1)在一行的结尾添加反斜杠(\)表示承接上一行的代码。这种方式是利用JavaScript的语法Bug来实现的:
(2)使用加号(+)来拼接字符串。
ES 6的多行字符串是一个非常实用的功能。模板字面量的基础语法就是使用反引号(`)替换字符串的单、双引号。例如:
如果需要在字符串中使用反引号,可以使用反斜杠(\)将它转义。
在ES 6中,使用模板字面量语法可以非常方便地创建多行字符串。
输出结果为:
在一个模板字面量中,可以将JavaScript变量或JavaScript表达式嵌入占位符并将其作为字符串的一部分输出到结果中。
在ES 6中,占位符是使用语法${NAME}的,并将包含的NAME变量或者表达式放在反引号中:
由于模板字面量本身也是JavaScript表达式,因此也可以在一个模板字面量中嵌入另一个模板字面量。
输出结果为: