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片段、SQL查询、说明文案等长内容
可与标签函数配合实现高级功能
模板字符串前面加一个函数名(如 html`),就能触发“标签函数”,用于自动转义、国际化、语法高亮等。
立即学习“Java免费学习笔记(深入)”;
- 常见用途:防止XSS的HTML安全插值、带样式的控制台输出(
styled`color: red;`) - 标签函数接收字符串数组和插值结果作为参数,完全可控
- 像
graphql`query { user(id: ${id}) { name } }`这类库也依赖该机制
基本上就这些。模板字符串不是语法糖那么简单,它让字符串操作更贴近自然表达,减少错误,提升可读性。不复杂但容易忽略它的潜力。











