javascript中模板字符串用反引号定义,支持原样保留换行与空格,可嵌入${}变量和表达式,.trim()可清理空白,是es6特性,需注意兼容性和语法限制。

JavaScript 中用模板字符串处理多行文本拼接非常简单,直接用反引号 ` 包裹内容,换行和空格都会被原样保留,无需拼接符或转义。
基本写法:用反引号包裹,支持换行
模板字符串(Template Literal)用反引号(`)定义,内部可自由换行,缩进也会作为字符串的一部分保留:
const html = `<div class="card"> <h2>标题</h2> <p>这是一段描述文字。</p> </div>`;
这样生成的字符串就包含真实的换行符(\n)和空格,适合生成 HTML、SQL、配置文本等结构化内容。
嵌入变量和表达式:用 ${} 插值
在多行模板中,可在任意位置插入变量或表达式,语法统一、可读性强:
- 变量直接写:
${name} - 支持表达式:
${items.length > 0 ? '有数据' : '为空'} - 可调用函数:
${getName().toUpperCase()}
示例:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const user = { name: '小明', age: 28 };
const message = `用户信息:
姓名:${user.name}
年龄:${user.age}
状态:${user.age >= 18 ? '成年' : '未成年'}`;
注意缩进和空白字符的处理
模板字符串会严格保留你写的空格和换行,如果希望输出更干净的文本,有几种常见做法:
- 把起始反引号放在行尾,避免首行缩进被计入
- 用
.trim()去掉首尾空白:`${...}`.trim() - 用
.replace(/\s+/g, ' ')合并多余空格(慎用,会破坏格式) - 对齐时使用逻辑换行而非物理缩进(如把内容左靠,用
\n控制换行)
推荐写法(避免首行缩进污染):
const sql = `SELECT id, name, email
FROM users
WHERE status = ${active ? 1 : 0}
ORDER BY created_at DESC`.trim();
兼容性与注意事项
模板字符串是 ES6(ES2015)特性,现代浏览器和 Node.js(v4+)都支持。若需兼容旧环境(如 IE),需用 Babel 转译。
注意点:
- 不能用单引号或双引号替代反引号
-
${}内部报错会导致整个模板执行失败 - 不支持嵌套模板字符串(但可多层插值,例如
${`inner ${x}`}是合法的)
多行拼接不再需要 + 或数组 join('\n'),模板字符串让代码更直观、易维护。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










