ECMAScript是JavaScript的标准规范,ECMA Interational标准组织于2018年6月底批准了一个新的规范版本。

ECMAScript 23018 版规范添加了关于异步编程和正则表达式的新功能。

新的规范内容包括:

  • 异步迭代器:使用AsyncIterable和AsyncIterator协议为异步迭代添加语法支持。该特性使创建异步生成器函数和方法的语法成为可能。
  • 为正则表达式添加s (dotAll)标志:为这些表达式提供一致的行为。该特性旨在解决正则表达式中的点(.)不匹配行终止符的限制。s标志改变了这一点。此标志将在选择的基础上运行,因此现有的正则表达式模式不会受到影响。
  • Regexp(正则表达式) Unicode属性转义:使开发者能够更好地访问Unicode字符属性。属性转义将以\p{…}\P{…}的形式添加。
  • Regexp环视匹配断言:解决了环视(lookaround)的一个缺点,它是零宽度的断言,与字符串进行匹配,不消耗任何东西。使用隐藏的断言,开发人员可以确保模式之前有或没有另一个模式。例如:匹配美元的金额而不获取美元符号。
  • Rest/spread属性:提供一个较小的语法改进。
  • prototype.finally():用于在处理完资源后进行清理。
  • Regexp 命名捕获组:用来标识捕获组,使它们更容易查找并使正则表达式更容易理解。以前,捕获组是通过数字访问的。
  • 模板文字的修订:为带标签的模板文字增加了语法的自由度。

一个预期的功能,即Function.prototype.toString的更新被删除,因为仍然有人担心它正在解决中。 toString()方法会返回一个表示函数源代码的字符串。

在哪里下载ECMAScript 2018规范

您可以从ECMA International下载ECMASCript 2018规范(https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf)。