模板字符串是JavaScript中用反引号包裹、支持${}变量插值和多行书写、可配合标签函数实现高级处理的字符串新语法。

模板字符串是 JavaScript 中一种用反引号(`)包裹的字符串写法,支持嵌入变量和表达式,让字符串拼接更直观、更灵活。
支持变量插值,不用加号或 concat
传统拼接靠 + 或 String.prototype.concat(),容易出错且难读。模板字符串直接用 ${} 插入变量或简单表达式:
const name = '小明'; const age = 25;-
console.log(`你好,我是${name},今年${age}岁。`);→ 输出:你好,我是小明,今年25岁。 -
${}里可以写任意合法表达式,比如${age > 18 ? '成年人' : '未成年人'}
天然支持多行字符串
普通字符串换行需用 \n 和 + 连接,模板字符串直接回车即可,缩进和换行符都会保留:
const html = ``;- 适合生成 HTML 片段、SQL 查询、配置文本等需要结构化排版的场景
可配合标签函数做高级处理
在反引号前加一个函数名,就能把模板字符串传给该函数处理,实现转义、国际化、SQL 防注入等功能:
function upper(strings, ...values) { return strings[0] + values.map(v => String(v).toUpperCase()).join('') + strings[1]; }upper`hello ${'world'}` → "hello WORLD"- 常用库如
styled-components、graphql都基于此机制
基本上就这些。模板字符串不是语法糖那么简单,它改变了 JS 处理文本的方式,写法更自然,功能也更延展。不复杂但容易忽略它的表达力。











