JavaScript模板字符串用反引号包裹,天然支持多行文本与变量插值,换行符和缩进会保留;需清理空白时可用trim()、正则或逐行trim处理。

JavaScript 中模板字符串用反引号(`)包裹,天然支持多行文本拼接,不需要加换行符或连接符。
直接换行就能保持格式
在反引号内按回车换行,生成的字符串就包含真实的换行符(\n):
const text = `第一行 第二行 第三行`; console.log(text); // 输出: // 第一行 // 第二行 // 第三行
嵌入变量和表达式不影响多行结构
变量插值(${...})可放在任意位置,包括跨行中间:
const name = "小明";
const age = 25;
const info = `姓名:${name}
年龄:${age}
状态:${age >= 18 ? '成年' : '未成年'}`;
console.log(info);
注意首尾空格和缩进会进入字符串
如果代码缩进明显,模板字符串里也会包含那些空格和制表符。需要干净格式时,有几种处理方式:
立即学习“Java免费学习笔记(深入)”;
- 手动删掉每行开头多余空格(简单但易出错)
- 用 .trim() 去除首尾空白(适合整体去前后空行)
- 用 .replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') 更精准清理首尾空白
- 对每行调用 .split('\n').map(line => line.trim()).join('\n') 清理所有行首尾空格
需要真正“无格式”拼接时,可用逻辑换行
如果只是想写得清晰、运行时又不要换行,可以借助括号 + 加号断行(非模板字符串方式),或在模板中用 ${''} 隔开但不换行:
const msg = `标题:${title}` +
`内容:${content}` +
`时间:${new Date().toLocaleString()}`;
不过这种写法失去了模板字符串的多行优势,一般推荐优先用原生换行,再按需清洗空白。


















