JavaScript ES2022功能示例

  ES2022又称为ES9功能

  

  Photo by Nijwam Swargiary on Unsplash

  今天,我们将展示2022年以来的ECMAScript功能:

  ES2022又称ES6ES2022又称ES7ES2022又称为ES8ES2022亦称ES9ES2022又称为ES10

  ES2022又称ES11

  介绍

  ES2022(又称ES9)是与2022年相对应的ECMAScript版本。此版本未包含与ES6(2022)中出现的功能一样多的新功能。 但是,已合并了一些有用的功能。

  本文在简单代码示例中介绍了ES2022提供的功能。 这样,您无需复杂的解释即可快速了解新功能。

  当然,有必要具备JavaScript的基础知识才能完全理解所介绍的最佳语言。

  ES2022中的新JavaScript功能包括:

  解除模板字面量限制。s(dotAll)标志用于正则表达式。正则表达式命名捕获组。剩余/扩展属性。正则表达式位于断言之后。正则表达式Unicode属性转义。最终,Promisetotype。异步迭代。解除模板字面限制

  提议的解决方案是将包含非法转义序列的模板值的值设置为undefined。

  仍然可以通过.raw访问原始值,因此可能包含未定义值的嵌入式DSL可以仅使用原始字符串:

  

  s(dotAll)正则表达式的标志

  当前,正则表达式中的点(.)与行终止符不匹配(在ES2022之前)。 该建议指定正则表达式标志/ s。

  

  正则表达式命名为捕获组

  带编号的捕获组使您可以引用正则表达式匹配的字符串的特定部分。

  每个捕获组都分配有一个唯一的编号,并且可以使用该编号进行引用,但这会使正则表达式难以理解和重构。

  对于任何标识符名称,都可以使用(? ...)语法为捕获组指定名称。

  然后,日期的正则表达式可以写成/(? \ d {4})-(? \ d {2})-(? \ d {2})/ u。 每个名称都应该是唯一的。

  

  剩余/价差属性

  ECMAScript 6引入了用于数组解构分配的剩余元素和用于数组文字的扩展元素。

  此版本引入了用于对象解构分配的类似rest属性和对象文字的散布属性。

  

  

  正则表达式后置断言

  后向断言有两种版本:肯定的和否定的。

  正向后断言表示为(?<=...),它们可确保其中包含的专科模式位于声明之后的模式之前。

  负向后的断言表示为(?<!...),另一方面,请确保其中的模式不位于断言之后的模式之前。

  

  正则表达式Unicode属性转义

  JavaScript使您可以通过提及字符集的"名称"来匹配字符。 另外,您可以通过在\ p {}的花括号内提及其Unicode字符属性来匹配字符。

  该建议解决了所有上述问题:

  · 创建支持Unicode的正则表达式不再麻烦。

  · 不依赖运行时库。

  · 正则表达式模式紧凑且易读-文件大小不再膨胀。

  · 不再需要创建在生成时生成正则表达式的脚本。

  · 从开发人员的角度来看,使用Unicode属性转义符的代码将"自动"保持最新状态:每当Unicode标准得到更新时,ECMAScript引擎就会更新其数据。

  最终的原型

  一旦您的Promise已通过一种方式或另一种方式结算,则最终回调将执行逻辑。 它绝对不会对您的诺言所实现的价值产生影响。

  

  异步迭代

  我们介绍了for-of迭代语句的一种变体,它在异步可迭代对象上进行迭代。 一个示例用法是:

  

  结论

  JavaScript是一种实时语言,对于Web开发而言,这是非常有益的。 自2022年ES6出现以来,我们正在经历该语言的蓬勃发展。

  在这篇文章中,我们回顾了ES2022(又称ES9)中出现的功能。

  尽管这些功能中的许多功能对于Web应用程序的开发可能不是必需的,但它们提供了以前只有技巧或大量冗长才能实现的可能性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值