模板字符串
ES6 中引入了一种新型的字符串语法,可以在字符串文本中内嵌表示式的字符串,看下面一段例子:
1 | var name = '姓名'; |
上面写法是以前的常规模式,下面可以使用新的语法和更简洁的书写:
1 | var name = '姓名'; |
引用 MDN 对于模板字符串的定义:
模板字符串使用反引号``来代替普通字符串中的用双引号和单引号,模板字符串可以包含特定语法${expression}的占位符,占位符中的表达式和周围的文本会一起传给一个默认函数,该函数系统会负责将所有的部分连接起来。
对于占位符 ${}, 可以是任意的 js 表达式(函数或运算),甚至是另一个模板字符串。注意如果模板中需要使用 ${ 这样的字符串,就需要转义。
例子:
1 | vax x = 1; |
标签模板
标签模板则是在反引号前面添加一个标签 (tag), 该标签是一个函数,用于处理模板字符串返回值,例子:
1 | function SaferHTML(templateData) { |
SaferHTML 是标签函数名
后面根着模板字符串
标签函数是可以接受多个参数的,参数是以 ${} 占位符来区分的,比如
1 | SaferHTML`我是参数1${x}我是参数2` |
如果传入的是这样的参数,则标签函数会收到两个参数列表,”我是参数1${x}” “我是参数2”
有了标签模板后,就可以控制模板字符串的返回处理,更加方便了。