ES5中字符串的问题
- 不能直接换行
- 拼接繁琐
ES6中新增字面量,对字符串拼接等问题进行了改善**
const name = '阿坤'const say = `我叫${name}`
- 模板字面量不使用引号,而是使用反引号 ````
- 可以直接在字面量中换行,不会影响解析,也可以使用
\n换行 - 字面量中所有的空格都会作为字符串
- 字面量中可以使用
${ }嵌入任意的 js 表达式,${ }之间可以进行嵌套
Tag函数
function Price(strings, type) {const text = type === 0 ? '篮球' : 'rap'return `${strings[0]}${text}${strings[1]}`}const type = 0;const text = Price`您的${type}真牛逼`;
- 函数会有两个参数
- strings:是个数组,元素是模板中被
${ }分隔的字符串常量 - vars:
${ }中的变量,从第二个参数开始,模板中有多少个就会传入多少个
- strings:是个数组,元素是模板中被
- 函数的返回值,会使最终的解析结果
- 适用于需要判断的逻辑比较复杂,且不同条件下模板差异大时
