模板字符串支持嵌入表达式、多行文本和标签模板,可调用函数、三元运算、访问属性,简化HTML或SQL生成,结合逻辑运算能条件性插入内容,提升代码可读性与灵活性。
模板字符串不只是用来拼接变量。它让 JavaScript 字符串处理变得更灵活、更易读,尤其在处理复杂结构或动态内容时优势明显。
嵌入表达式与逻辑运算
模板字符串支持直接在 ${} 中写表达式,不只是变量。
- 可以调用函数:
`结果是:${Math.max(2, 5)}` - 进行三元判断:
`当前状态:${isActive ? '启用' : '关闭'}` - 访问对象属性或数组元素:
`用户姓名:${user.name},第1个标签:${tags[0]}`
多行字符串的自然写法
传统字符串换行需要转义或拼接,模板字符串直接回车即可保留格式。
- 生成 HTML 片段更直观:
`你好,${name}
` - 写 SQL 或配置文本也更清晰,无需额外处理换行符
标
签模板(Tagged Templates)
在模板字符串前加一个函数名,可以自定义处理逻辑,这是高级用法的核心。
- 函数接收两部分:字符串片段数组和插值结果数组
- 常用于防止 XSS:
safeHTML`${content}
` - 也可用于国际化、样式绑定等场景,如 styled-components 就基于此实现
条件性插入内容的技巧
有时希望变量为空时不输出任何内容,包括前后空格或标点。
- 结合逻辑运算符控制输出:
${showLabel && '标签:'} ${value}` - 使用立即执行函数封装判断逻辑
- 适合生成动态属性或可选文案
基本上就这些。掌握这些用法后,字符串操作会更简洁,代码可读性也会提升不少。不复杂但容易忽略。

签模板(Tagged Templates)






