首页 > web前端 > js教程 > 正文

什么是javascript模板字符串_它比普通字符串好在哪里?

狼影
发布: 2025-12-21 21:24:35
原创
507人浏览过
JavaScript模板字符串用反引号定义,支持变量插值、多行书写、任意表达式嵌入及标签函数,比传统字符串拼接更安全、易读、灵活。

什么是javascript模板字符串_它比普通字符串好在哪里?

JavaScript模板字符串是用反引号(`)包裹的字符串,支持嵌入表达式、多行书写和字符串插值。它不是“更好”的替代品,而是在特定场景下更自然、更安全、更易读的字符串处理方式。

支持变量插值,不用拼接

普通字符串要用加号(+)或 concat() 拼接变量,容易出错且难维护:

❌ 普通写法:
const name = '小明'; const age = 25;
const msg = '你好,' + name + ',你今年' + age + '岁了。';

✅ 模板字符串:
const msg = `你好,${name},你今年${age}岁了。`

变量直接写在 ${} 里,语义清晰,不易漏空格或引号。

天然支持多行文本

普通字符串换行必须用 \n 和加号续行,可读性差:

立即学习Java免费学习笔记(深入)”;

❌ 普通写法:
const html = '<div>\n <p>标题</p>\n <p>内容</p> <div class="aritcle_card"> <a class="aritcle_card_img" href="/ai/1069"> <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680048848883.png" alt="音疯"> </a> <div class="aritcle_card_info"> <a href="/ai/1069">音疯</a> <p>音疯是昆仑万维推出的一个AI音乐创作平台,每日可以免费生成6首歌曲。</p> <div class=""> <img src="/static/images/card_xiazai.png" alt="音疯"> <span>178</span> </div> </div> <a href="/ai/1069" class="aritcle_card_btn"> <span>查看详情</span> <img src="/static/images/cardxiayige-3.png" alt="音疯"> </a> </div> \n</div>';

✅ 模板字符串:
const html = `<div> <br><code> <p>标题</p>
<p>内容</p>

`;

缩进和换行原样保留,适合写 HTML、SQL 或配置文本。

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

模板字符串中 ${} 内可以是函数调用、运算、三元判断等:

  • `${a + b}`
  • `${items.length > 0 ? '有数据' : '空列表'}`
  • `当前时间:${new Date().toLocaleTimeString()}`

普通字符串做不到这点,必须先计算再拼接,逻辑分散。

支持标签函数,实现高级功能

模板字符串可配合自定义标签函数,做转义、国际化、SQL 防注入等:

function sanitize(strs, ...vals) {
return strs.reduce((acc, s, i) => acc + s + (vals[i] ?? '').replace(/, '<br><code>}
const user = '<script>alert(1)</script>';
const safeHtml = sanitize`<div>${user}</div>`; // 自动转义

这种能力普通字符串完全不具备。

以上就是什么是javascript模板字符串_它比普通字符串好在哪里?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号