信息发布→ 登录 注册 退出

什么是JavaScript的模板字面量_它比传统字符串拼接好在哪里?

发布时间:2025-12-18

点击量:
模板字面量是ES6引入的用反引号包裹的字符串语法,支持变量插值(${})、多行文本、任意表达式嵌入及标签函数,显著提升可读性与灵活性。

模板字面量(Template Literal)是ES6引入的一种字符串定义方式,用反引号 ` 包裹,支持嵌入表达式、多行文本和字符串插值。

支持变量插值,写法更直观

传统字符串拼接要用加号连接,容易出错且难读:

"Hello " + name + ", you are " + age + " years old."

模板字面量直接写成:

`Hello ${name}, you are ${age} years old.`

变量或表达式放在 ${...} 中,JS自动求值并转为字符串,逻辑清晰、不易漏空格或引号。

天然支持多行字符串

普通字符串换行必须用 \n+ 拼接,或者用反斜杠续行(ES5不推荐):

"Line 1\n" + "Line 2\n" + "Line 3"

模板字面量直接回车换行即可,缩进和换行符都会保留:

`Line 1
Line 2
Line 3`

适合写HTML片段、SQL查询或多段提示文案。

可嵌入任意表达式,不止是变量

${} 里可以放函数调用、三元运算、数组方法等:

  • `Price: $${(price * 0.9).toFixed(2)}` —— 直接计算并格式化
  • `Status: ${isActive ? 'Online' : 'Offline'}` —— 内联条件判断
  • `Items: ${items.map(i => i.name).join(', ')}` —— 处理数组

避免了先拼中间变量再拼字符串的冗余步骤。

支持标签函数,实现高级字符串处理

在反引号前加一个函数名,就能让该函数接收模板解析后的参数:

html`${content}`

这个 html 函数会收到字符串数组和插值结果,可用于自动转义、语法高亮、国际化等。这是普通字符串完全做不到的扩展能力。

基本上就这些 —— 不复杂但容易忽略,日常写代码时换用模板字面量,可读性、维护性和灵活性都明显提升。

标签:# javascript  # es6  # java  # html  # js  # 字符串数组  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!