javascript中模板字符串是什么_它与普通字符串有何不同?

模板字符串用反引号包裹,支持嵌入表达式(${})、多行书写和复用,普通字符串仅支持单/双引号,需+拼接、用\n换行且扩展性差;二者各适用于不同场景。

模板字符串是 JavaScript 中用反引号(`)包裹的字符串,它支持嵌入表达式、多行书写和字符串插值,而普通字符串只能用单引号或双引号,不支持这些特性。

支持嵌入表达式

模板字符串可以用 ${} 直接插入变量、运算结果或函数调用,JS 引擎会自动求值并转为字符串拼接;普通字符串必须用加号(+)手动拼接,容易出错且可读性差。

  • 模板字符串:`Hello ${name}, you are ${age + 1} next year.`
  • 普通字符串:"Hello " + name + ", you are " + (age + 1) + " next year."

天然支持多行文本

模板字符串中换行会被保留,无需转义或拼接;普通字符串若要换行,得用 \n 或加号折行,代码冗长且不易维护。

  • 模板字符串:
    `Line one
    Line two`
    (直接回车即可)
  • 普通字符串:"Line one\nLine two" 或拆成多段加号连接

可嵌套、可复用,适合动态内容生成

模板字符串本身是表达式,能赋值给变量、传参、作为函数返回值;配合标签函数还能实现 HTML 转义、国际化等高级用法。普通字符串只是静态值,扩展能力弱。

  • 例如构建 HTML:html`${content}`
  • 普通字符串无法自然承载这类逻辑,需额外封装或依赖库

注意点:不是所有场景都适用

模板字符串在需要严格控制空格、缩进或兼容老旧环境(如 IE)时要谨慎;它的反引号容易和数字 0、字母 o 混淆,多人协作时建议统一代码风格。普通字符串更轻量、兼容性更好,简单字面量仍推荐使用单/双引号。