此标准定义了ECMAScript 2018语言,是ECMAScript语言规范的第九版。自从1997年第一版发布以来,ECMAScript已经成为世界上应用最广泛的编程语言之一。众所周知的是作为嵌入在Web浏览器中的语言,但该语言也被广泛应用于服务器和嵌入式应用程序。
-ECMAScript基于几种始发技术,最著名的是Netscape的JavaScript以及Microsoft的JScript。该语言由Netscape的Brendan Eich发明,并首次出现在该公司的Navigator2.0浏览器中。它已经出现在Netscape的所有后续浏览器以及Microsoft自Internet Explorer3.0开始的所有浏览器中。
-ECMAScript语言规范的制定始于1996年11月。第一版的Ecma标准在1997年6月通过Ecma委员会。
-该(第一版)Ecma标准采用快速程序提交 ISO/IEC JIC 1,并于1998年4月被批准为国际标准 ISO/IEC16262。在1998年Ecma委员会通过了第二版 ECMA-262,以保证完全符合 ISO/IEC 16262。 第一版和第二版的变化是社论性质的。
-第三版标准引入了强大的正则表达式,更好的字符串处理,新的控制语句,try/catch异常处理,更严格的错误定义,数字输出的格式化以及预期未来语言成长的微小变化。在1999年12月Ecma委员会通过了第三版ECMAScript标准,于2002年6月发布为 ISO/IEC 16262:2002。
-在第三版发布后,ECMAScript在万维网上被大量使用,它成为所有Web浏览器支持的编程语言。开发第四版ECMAScript是一个有象征意义的工作,然而这项工作未能完成,也没能作为第四版ECMAScript发布,不过其中一些开发被纳入第六版。
-第五版ECMAScript(以ECMA-262 5th edition发布)编纂了那些浏览器之间的通用实现,并作出事实性的解释写入语言规范,同时添加了很多新的功能一起合并到第五版发布。 这些功能包括访问器属性,对象的反向创建与检查,对象属性的属性控制,更多数组处理函数,JSON对象编码格式化的支持, 以及一种增强错误检查和程序安全性的严格模式。第五版于2009年12月通过Ecma委员会。
-第五版采用快速程序提交ISO/IEC JIC 1,批准为国际标准ISO/IEC 16262:2011。第5.1版ECMAScript标准包含较少的更正,并与ISO/IEC 16262:2011保持一致。于2011年6月Ecma委员会通过5.1版。
-第六版于2009年开始作为重点开发,当时第五版正在准备出版。然而,这之前的重点实验以及语言增强设计工作可以追溯到1999年第三版发布。实际上,第六版的完成是十五年努力的结果。 这个版本中增加了包括对大型应用提供更好的支持,库创建, 以及以ECMAScript作为其他语言的编译目标。其中主要的增强功能包括模块化,类声明,词法块作用域,迭代器以及生成器,异步编程的promise,解构模式,以及正确的尾部调用。 ECMAScript内置库扩展支持了额外的数据抽象,包括Map,Set,数组二进制操作, 同时也支持Unicode补充字符在字符串及正则表达式中使用。内置库也通过子类进行了扩展。第六版为正则,渐进式语言以及库增强提供了基础。第六版与2015年6月通过了Ecma委员会。
-ECMAScript2016是使用新发布策略以及公开开发进度的Ecma TC39的首个ECMAScript版本。从ECMAScript2015源文档构建一个纯文本的源文档,以支持完全在GitHub上进一步开发。在这个标准的发展的这一年,数百个`pull requests`和`issues`被提交,代表着成千上万的错误修复,编辑修复和其他改进。另外,开发了许多软件工具来帮助这一工作,包括Ecmarkup,Ecmarkdown和Grammarkdown。ES2016还包括支持一个新的求幂运算符,以及为Array.prototype添加了一个名为`include`的新方法。
-此规范引入了Async函数,共享内存, 以及更小语言和库增强的原子,错误修复,编辑更新。Async函数通过提供`promise-returning`函数语法来提高异步编程体验。共享内存和原子引入了一种新的内存模型,允许多个代理程序使用原子操作进行通信,即使在并行CPU上也能确保程序按照明确定义的执行顺序。此规范还包括Object新的静态方法:Object.values,Object.entries和Object.getOwnPropertyDescriptors。
-许多个人和组织在Ecma TC39为当前版本以及以前的版本做出了非常重要的贡献。此外,有了一个支持TC39,为ECMAScript努力的充满活力的社区。这个社区审查了许多草案,提交了大量的错误报告,执行实施实验,提供测试套件,全世界的ECMAScript的开发者都可以从中受益。然而遗憾的是,我们无法对作出努力贡献的每个人和组织进行一一感谢。
+此标准定义了 ECMAScript 2018 语言,是 ECMAScript 语言规范的第九版。自从 1997 年第一版发布以来,ECMAScript 已经成为世界上应用最广泛的编程语言之一。他最为认知的是作为嵌入在 Web 浏览器中的语言,但也被广泛应用于服务器和嵌入式应用程序。
+ECMAScript 基于几种始发技术,最著名的是 Netscape 的 JavaScript 以及 Microsoft 的 JScript。该语言由 Netscape 的 Brendan Eich 发明,并首次出现在该公司的 Navigator2.0 浏览器中。它已经出现在 Netscape 的所有后续浏览器以及 Microsoft 自 Internet Explorer3.0 开始的所有浏览器中。
+ECMAScript 语言规范的制定始于 1996 年 11 月。第一版的Ecma标准在 1997 年 6 月通过 Ecma 联合大会。
+该(第一版) Ecma 标准为了采用快速通道通过,被提交给 ISO/IEC JIC 1,于 1998 年 4 月被批准为国际标准 ISO/IEC16262。在 1998 年 Ecma 联合大会通过了第二版 ECMA-262,以保证完全符合 ISO/IEC 16262。第一版和第二版的变化是编辑层面的。
+第三版标准引入了强大的正则表达式,更好的字符串处理,新的控制语句,try/catch 异常处理,更严格的错误定义,数字输出的格式化以及预期未来语言发展的微小变化。第三版 ECMAScript 标准于1999年12月被 Ecma 联合大会采纳,于 2002 年 6 月作为 ISO/IEC 16262:2002 发布。
+在第三版发布后,ECMAScript 在万维网上被大量使用,它成为所有Web浏览器支持的编程语言。为了开发第四版 ECMAScript,做了大量有意义的工作,然而这项工作未能完成,也没能作为第四版 ECMAScript 发布,不过其中一些被纳入第六版开发(工作)中。
+第五版 ECMAScript(以 ECMA-262 5th 版本发布)为那些已经被浏览器广泛实现的语言规范编纂了实质的解释,同时增加了对第三版发布以来出现的新功能的支持。 这些功能包括访问器属性,对象的反向创建与检查,对象属性特性的控制,更多数组操作函数,JSON对象编码格式的支持, 以及一种增强错误检查和程序安全性的严格模式。第五版于2009年12月Ecma联合大会采纳。
+第五版为了采用快速通道通过,被提交给 ISO/IEC JIC 1,被批准为国际标准 ISO/IEC 16262:2011。第 5.1 版 ECMAScript 标准包含较少的更正,并与 ISO/IEC 16262:2011 保持一致。于2011年6月 Ecma 联合大会被采纳。
+第六版于 2009 年开始作为重点开发,当时第五版正在准备出版。然而,这之前的重点实验以及语言增强设计工作可以追溯到 1999 年第三版发布。实际上,第六版的完成是十五年努力的结果。 这个版本中增加了包括对大型应用程序,库创建, 以及以 ECMAScript 作为其他语言的编译目标提供更好的支持。其中主要的增强功能包括模块化,类声明,词法块作用域,迭代器以及生成器,异步编程的promise,解构模式,以及正确的尾部调用。 ECMAScript内置库扩展支持了额外的数据抽象,包括Map,Set,二进制值的数组, 同时也支持Unicode补充字符在字符串及正则表达式中使用。内置库也通过子类进行了扩展。第六版为正则,渐进式语言以及库增强提供了基础。第六版于 2015 年 6 月被Ecma联合大会采纳。
+ECMAScript2016使用 Ecma TC39 委员会新的年度发布策略以及公开开发流程的首个 ECMAScript 版本。从 ECMAScript2015 源文档作为基础构建一个纯文本的源文档,以支持完全在 GitHub 上进一步开发。在这个标准的发展的这一年,数百个`pull requests`和`issues`被提交,代表着成千上万的错误修复,编辑修复和其他改进。另外,许多软件工具被开发用来帮助这一工作,包括Ecmarkup,Ecmarkdown和Grammarkdown。ES2016还包括支持一个新的求幂运算符,以及为 Array.prototype 添加了一个名为`include`的新方法。
+这一版本的规范引入了Async函数,共享内存, 以及更小语言和库增强的原子,错误修复,编辑更新。Async函数通过提供`promise-returning`函数语法来提高异步编程体验。共享内存和原子引入了一种新的内存模型,允许多个代理程序使用原子操作进行通信,以确保即便在并行 CPU 上程序也能有明确定义的执行顺序。此规范还包括 Object 新的静态方法:`Object.values`,`Object.entries`和`Object.getOwnPropertyDescriptors`。
+许多个人和组织在 Ecma TC39 为当前版本以及以前的版本做出了非常重要的贡献。此外,有了一个充满活力的社区支持 TC39 为 ECMAScript 所做的努力。这个社区审查了许多草案,提交了大量的错误报告,执行实施实验,提供测试套件,全世界的 ECMAScript 的开发者都可以从中受益。然而遗憾的是,不能一一鸣谢为此做出贡献的每个人和组织。
Allen Wirfs-Brock
- ECMA-262, 6th edition 项目编辑
+ ECMA-262, 6th版本 项目编辑
Brian Terlson
- ECMA-262, 7th edition 项目编辑
+ ECMA-262, 7th版本 项目编辑