ecmascript 规范_ECMAScript 2020 JavaScript规范获得批准

ecmascript 规范

ECMAScript 2020JavaScript官方规范的最新版本,已于6月16日获得ECMA International和负责规范的ECMA技术委员会的正式批准。

ECMAScript 2020引入了多种功能,从用于加载模块的新import()工具到用于处理任意精度整数的新BigInt类型。

[ 同样在InfoWorld上:TypeScript与JavaScript:了解差异 ]

ECMAScript 2020引入的特定功能包括:

  • “函数式” import()模块加载语法,以使用动态说明符异步导入模块。 该提案添加了import(specifier)语法形式,其功能类似于函数。 它返回请求模块的模块名称空间对象的承诺,该承诺是在获取,实例化和评估模块的依赖项以及模块本身之后创建的。 该specifier解释方式与import声明中的解释方式相同。 虽然specifier是字符串,但不一定是字符串文字。 因此,像import(`./language-packs/${navigator.language}.js`)这样的代码就可以工作。 通常的import申报单是不可能的。 根据该计划,建议使用import()在模块和脚本中工作,从而为脚本代码提供一个轻松的异步进入模块世界的入口点,并允许其开始运行模块代码。
  • BigInt ,一个新的数字原语,用于处理任意精度的整数。 BigInt可以表示大于2到53的幂的数字,JavaScript可以使用Number原语可靠地表示最大的数字。 通过将n附加到整数的末尾或调用构造函数来创建BigInt
  • 用于字符串的matchAll方法,用于为全局正则表达式生成的所有匹配对象生成一个迭代器。 此提议的基本原理是,如果开发人员具有字符串以及带有多个捕获组的粘性或全局正则表达式,则开发人员可能希望遍历所有匹配项,为此,目前存在多种选择,但有局限性。 String#matchAll通过提供对所有捕获组的访问而不会明显改变所讨论的正则表达式对象来解决问题。
  • Promise.allSettled ,一个新的不会短路的Promise组合器。 这将返回一个承诺,该承诺将通过一系列承诺状态快照来实现,但前提是必须满足原始承诺,即已经实现或拒绝了。
  • globalThis ,提供了一种访问全局this值的通用方法。
  • export * as ns from 'module'语法专用export * as ns from 'module'以在模块内使用。
  • 增加了for-in枚举顺序的标准化,在JavaScript中部分指定了枚举顺序。
  • import.meta ,是Modules中一个主机填充的对象,可以包含上下文信息。 这用作JavaScript元属性,保存有关当前模块的主机特定的元数据。
  • 合并 ,一个值选择运算符,用于更好地处理涉及财产访问的案件。 它是一种语法功能,可以改善对“空”值( null或未定义)的使用。
  • 可选链接 ,一个属性访问和函数调用运算符,如果要访问/调用的值为空,它将短路。

ECMAScript的最新更新ECMAScript 2019具有嵌套数组的prototype.flatMap等功能。

翻译自: https://www.infoworld.com/article/3538809/ecmascript-2020-spec-for-javascript-approved.html

ecmascript 规范

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值