Open Link-Fight opened 3 years ago
这是ECMAScript语言规范的第十一版。
ECMAScript语言规范起始于1996年11月,于1997年6月发布第一版。
在1998年6月发布了第二版。在1999年12月通过第三版,并于2002年6月发布。
标准的第三版引入了强大的正则表达式、更好的字符串处理、新的控制语句、尝试/捕获异常处理、更严格的错误定义、数值输出的格式化以及对未来语言增长的预期的细微变化。
ECMAScript第五版在2009年12月通过。其更新的特性包括访问器属性、对象的反射创建和检查、属性的程序控制、附加的数组操作函数、对JSON对象编码格式的支持以及提供增强的错误检查和程序安全性的严格模式。在2011年6月通过小修改版的5.1。
ECMAScript第六版在2015年6月获得大会通过,其更新的特性包括:为大型应用程序提供更好的支持,创建库,以及将 ECMAScript 用作其他语言的编译目标。它的一些主要增强包括模块、类声明、词法块作用域、迭代器和生成器、异步编程承诺、析构模式和正确的尾调用。扩展了内置的 ECMAScript 库,以支持额外的数据抽象,包括二进制数值的映射、集合和数组,以及对字符串和正则表达式中的 Unicode 补充字符的额外支持。通过子类化实现了内置的可扩展性。
ECMAScript 2016是Ecma TC39在新的一年里公开发布的一个版本。在这期间开发了一些列工具,例如 Ecmarkup、 Ecmarkdown 和 Grammarkdown。同时ES2016还包含了对新的求幂运算符的支持,并添加了一个新的方法来 Array.prototype 调用 include。
ECMAScript 2017引入了Async 函数、共享内存和Atomics。Async函数通过为返回承诺的函数提供语法来改进异步编程体验。共享内存和原子引入了一种新的内存模型,它允许多代理程序使用原子操作就行通讯,从而确保即使在并行cpu上也有良好的执行顺序。它还包括Object.values、Object.entries和Object.getOwnProperyDescriptors.
ECMAScript 2018通过AsyncIterator 协议和异步生成器引入了对异步迭代的支持。它还包括四个新的正则表达式特性: dotAll 标志、命名捕获组、 Unicode 属性转义和查找背后断言。最后,它包含了对象休止符和扩展属性。
ECMAScript 2019引入了大量内置函数。Array.prototype【flat/flatMap】用于展开数组。Object.formEntries用于直接将Object.entry的返回值变成新的Object。String.prototype【trimStart/trimEnd】。
而当前这个版本11th,引入了字符串的 matchAll 方法,为全局正则表达式生成的所有匹配对象生成一个迭代器; import () ,一个用动态说明符异步导入模块的语法; BigInt,一个用于处理任意精度整数的新数字原语; Promise。allSettled,一个新的不会短路的 Promise 组合器; globalThis,一个访问全局 this 值的通用方法; 专用导出 * as ns 从‘ module’语法在模块中使用; 增加了 for-in 枚举顺序的标准化; import。Meta,模块中一个主机填充的对象,它可能包含模块的上下文信息; 同时增加了两个新的语法特性来改进处理“ nullish”值(null 或 undefined) : nullescing,一个值选择操作符; 以及可选链接,一个属性访问和函数调用操作符,如果访问/调用的值是 nullish,它就会短路。
4.21.
ecma-262
这是ECMAScript语言规范的第十一版。
ECMAScript语言规范起始于1996年11月,于1997年6月发布第一版。
在1998年6月发布了第二版。在1999年12月通过第三版,并于2002年6月发布。
标准的第三版引入了强大的正则表达式、更好的字符串处理、新的控制语句、尝试/捕获异常处理、更严格的错误定义、数值输出的格式化以及对未来语言增长的预期的细微变化。
ECMAScript第五版在2009年12月通过。其更新的特性包括访问器属性、对象的反射创建和检查、属性的程序控制、附加的数组操作函数、对JSON对象编码格式的支持以及提供增强的错误检查和程序安全性的严格模式。在2011年6月通过小修改版的5.1。
ECMAScript第六版在2015年6月获得大会通过,其更新的特性包括:为大型应用程序提供更好的支持,创建库,以及将 ECMAScript 用作其他语言的编译目标。它的一些主要增强包括模块、类声明、词法块作用域、迭代器和生成器、异步编程承诺、析构模式和正确的尾调用。扩展了内置的 ECMAScript 库,以支持额外的数据抽象,包括二进制数值的映射、集合和数组,以及对字符串和正则表达式中的 Unicode 补充字符的额外支持。通过子类化实现了内置的可扩展性。
ECMAScript 2016是Ecma TC39在新的一年里公开发布的一个版本。在这期间开发了一些列工具,例如 Ecmarkup、 Ecmarkdown 和 Grammarkdown。同时ES2016还包含了对新的求幂运算符的支持,并添加了一个新的方法来 Array.prototype 调用 include。
ECMAScript 2017引入了Async 函数、共享内存和Atomics。Async函数通过为返回承诺的函数提供语法来改进异步编程体验。共享内存和原子引入了一种新的内存模型,它允许多代理程序使用原子操作就行通讯,从而确保即使在并行cpu上也有良好的执行顺序。它还包括Object.values、Object.entries和Object.getOwnProperyDescriptors.
ECMAScript 2018通过AsyncIterator 协议和异步生成器引入了对异步迭代的支持。它还包括四个新的正则表达式特性: dotAll 标志、命名捕获组、 Unicode 属性转义和查找背后断言。最后,它包含了对象休止符和扩展属性。
ECMAScript 2019引入了大量内置函数。Array.prototype【flat/flatMap】用于展开数组。Object.formEntries用于直接将Object.entry的返回值变成新的Object。String.prototype【trimStart/trimEnd】。
而当前这个版本11th,引入了字符串的 matchAll 方法,为全局正则表达式生成的所有匹配对象生成一个迭代器; import () ,一个用动态说明符异步导入模块的语法; BigInt,一个用于处理任意精度整数的新数字原语; Promise。allSettled,一个新的不会短路的 Promise 组合器; globalThis,一个访问全局 this 值的通用方法; 专用导出 * as ns 从‘ module’语法在模块中使用; 增加了 for-in 枚举顺序的标准化; import。Meta,模块中一个主机填充的对象,它可能包含模块的上下文信息; 同时增加了两个新的语法特性来改进处理“ nullish”值(null 或 undefined) : nullescing,一个值选择操作符; 以及可选链接,一个属性访问和函数调用操作符,如果访问/调用的值是 nullish,它就会短路。