ES6 中的模板字符串和普通字符串有什么不同
在ES6规范中,新增了模板字符串,相比于普通字符串,模板字符串有以下不同点。
1. 模板字符串支持嵌入表达式
模板字符串允许我们在字符串中嵌入表达式,通过 ${ } 括号进行包裹。这样可以使得字符串拼接更加方便。
let name = 'Simon'; console.log(`Hello, ${name}!`); // output: "Hello, Simon!"
2. 模板字符串支持多行字符串
使用普通字符串时,如果需要表示多行字符串,则需要通过使用 \n 进行拼接。而在模板字符串中,则可以直接表示多行字符串,更加方便。
-- -------------------- ---- ------- --- --- - - ---- -- - -------- ---- ------- -- ----------------- -- ------- ---- -- - -------- ---- ------- --
3. 模板字符串支持标签函数
除了上述两种用法之外,模板字符串还可以使用“标签函数”,将字符串和表达式做更复杂的处理。
-- -------------------- ---- ------- -------- -------------- ---------- - --- --- - --- --- ---- - - -- - - --------------- ---- - -- -- - -- - --- -- -------- - ----------------- - --- -- ----------- - ------ ------------------ - --- ---- - -------- ------------------------ ----------- -- ------- ------- -------
4. 模板字符串的内部处理会转义
在模板字符串内,使用 {} 括号可以进行运算,但其内部的处理会进行转义。比如,如果需要在模板字符串内使用一个需要转义花括号的表达式,则需要使用两个花括号。
let result = `${1+1}`; console.log(result); // output: "2" let result2 = `${{x: 1, y: 2}}`; console.log(result2); // output: "[object Object]" let result3 = `Hello, {name}!`; console.log(result3); // output: "Hello, {name}!"
结论
总体来说,模板字符串相比于普通字符串,更加灵活方便。能够简化字符串拼接和多行字符串的表示。并且,如果需要进行更复杂的处理,还可以使用标签函数。
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675267938bd460d3ad93dc23