JavaScript模板字符串是ES6引入的用反引号包裹的字符串,支持${}嵌入表达式、天然多行、标签函数等特性,显著提升可读性与安全性。
JavaScript模板字符串是用反引号(`)包裹的字符串,支持嵌入表达式、多行书写和字符串插值。它从ES6(ES2015)开始正式引入,是比传统单引号/双引号字符串更灵活、更易读的字符串写法。
模板字符串允许直接在字符串中用 ${...} 插入变量、函数调用或任意合法表达式,无需拼接。
"Hello " + name + ", you are " + (age + 1) + " next year"
`Hello ${name}, you are ${age + 1} next year`,语义清晰,不易出错`Price: ${getPrice(item) > 100 ? 'expensive' : 'affordable'}`
换行符会被保留,不需要加 \n 或连接多个字符串。
"line1\nline2\nline3" 或拼接多行`line1,格式与代码一致,便于维护
line2
line3`
模板字符串前面加一个函数名(如
html`${name}`),就能触发“标签函数”,用于自动转义、国际化、语法高亮等。
styled`color: red;`)graphql`query { user(id: ${id}) { name } }` 这类库也依赖该机制基本上就这些。模板字符串不是语法糖那么简单,它让字符串操作更贴近自然表达,减少错误,提升可读性。不复杂但容易忽略它的潜力。