ES6(ECMAScript 6)新特性之模板字符串用法分析
发布时间 - 2026-01-11 00:28:36 点击率:次本文实例讲述了ES6(ECMAScript 6)新特性之模板字符串用法。分享给大家供大家参考,具体如下:

ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings)。除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与普通字符串并无二致。在最简单的情况下,它们与普通字符串的表现一致:
context.fillText(`Ceci n'est pas une cha?ne.`, x, y);
但我们不能说:“原来只是被反撇号括起来的普通字符串啊”。模板字符串为JavaScript提供了简单的字符串插值功能,从此以后,你可以通过一种更加美观、更加方便的方式向字符串中插值了。这在Java和C#中早已经有了,不用再用 + 符号连接字符串,用起来很方便~
模板字符串的使用方式成千上万,但最让我暖心的是将其应用于毫不起眼的错误消息提示:
function authorize(user, action) {
if (!user.hasPrivilege(action)) {
throw new Error(
`用户 ${user.name} 未被授权执行 ${action} 操作。`);
}
}
在这个示例中,${user.name}和${action} 被称为模板占位符,JavaScript将把user.name和action的值插入到最终生成的字符串中,例如:用户jorendorff未被授权打冰球。(这是真的,我还没有获得冰球许可证。)
到目前为止,我们所了解到的仅仅是比+运算符更优雅的语法,下面是你可能期待的一些特性细节:
模板占位符中的代码可以是任意JavaScript表达式,所以函数调用、算数运算等这些都可以作为占位符使用,你甚至可以在一个模板字符串中嵌套另一个,我称之为模板套构(template inception)。
如果这两个值都不是字符串,可以按照常规将其转换为字符串。例如:如果action是一个对象,将会调用它的.toString()方法将其转换为字符串值。
如果你需要在模板字符串中书写反撇号,你必须使用反斜杠将其转义:`\``等价于"`"。
同样地,如果你需要在模板字符串中引入字符$和{。无论你要实现什么样的目标,你都需要用反斜杠转义每一个字符:`$`和`\{`。
与普通字符串不同的是,模板字符串可以多行书写:
$("#warning").html(`
<h1>小心!>/h1>
<p>未经授权打冰球可能受罚
将近${maxPenalty}分钟。</p>`);
模板字符串中所有的空格、新行、缩进,都会原样输出在生成的字符串中。
希望本文所述对大家ECMAScript程序设计有所帮助。
# ES6
# ECMAScript
# 6
# 新特性
# 模板字符串
# 详解ECMAScript2019/ES10新属性
# 详解ECMAScript typeof用法
# JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档
# ECMAScript6变量的解构赋值实例详解
# 详解ECMAScript6入门--Class对象
# 2022发布ECMAScript新特性盘点
# 将其
# 的是
# 如果你
# 转换为
# 未被
# 称之为
# 是一个
# 这是
# 插值
# 让我
# 我还
# 在这个
# 你可以
# 将会
# 你要
# 这两个
# 给大家
# 仅仅是
# 被称为
# 你都
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在七牛云存储上搭建网站并设置自定义域名?
Android Socket接口实现即时通讯实例代码
如何在香港免费服务器上快速搭建网站?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
如何在IIS7中新建站点?详细步骤解析
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Laravel中的withCount方法怎么高效统计关联模型数量
如何在景安云服务器上绑定域名并配置虚拟主机?
android nfc常用标签读取总结
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
微信小程序制作网站有哪些,微信小程序需要做网站吗?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何在Tomcat中配置并部署网站项目?
如何挑选高效建站主机与优质域名?
如何正确下载安装西数主机建站助手?
如何快速搭建个人网站并优化SEO?
音乐网站服务器如何优化API响应速度?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
JavaScript如何实现路由_前端路由原理是什么
香港服务器租用每月最低只需15元?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
php485函数参数是什么意思_php485各参数详细说明【介绍】
QQ浏览器网页版登录入口 个人中心在线进入
html如何与html链接_实现多个HTML页面互相链接【互相】
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
Internet Explorer官网直接进入 IE浏览器在线体验版网址
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何配置和使用缓存?(Redis代码示例)
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
深圳网站制作的公司有哪些,dido官方网站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】

