ECMAScript

是一种由Ecma国际（前身为欧洲计算机制造商协会）在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛，它往往被称为JavaScript或JScript，但实际上后两者是ECMA-262标准的实现和扩展。

 历史 
ECMAScript是由网景的布蘭登·艾克開發的一種腳本語言的標準化規範；最初命名為Mocha，後來改名為LiveScript，最後重新命名為JavaScript。1995年12月，升阳与网景聯合發表了JavaScript。1996年11月，网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。

儘管JavaScript和JScript与ECMAScript相容，但包含超出ECMAScript的功能。

 版本 
版本发表日期与前版本的差异11997年6月首版2 1998年6月格式修正，以使得其形式与ISO/IEC16262国际标准一致31999年12月强大的正则表达式，更好的词法作用域链处理，新的控制指令，异常处理，错误定义更加明确，数据输出的格式化及其它改变4放棄由於關於語言的複雜性出現分歧，第4版本被放棄，其中的部分成為了第5版本及Harmony的基礎；由ActionScript實現52009年12月新增「嚴格模式（strict mode）」，一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範，並適應了與規範不一致的真實世界實現的行為。增加了部分新功能，如getters及setters，支持JSON以及在物件屬性上更完整的反射 5.1 2011年6月 ECMAScript标5.1版形式上完全一致于国际标准ISO/IEC 16262:2011。62015年6月ECMAScript 2015（ES2015），第 6 版，最早被称作是 ECMAScript 6（ES6），添加了类和模块的语法，其他特性包括迭代器，Python风格的生成器和生成器表达式，箭头函数，二进制数据，静态类型数组，集合（maps，sets 和 weak maps），promise，reflection 和 proxies。作为最早的 ECMAScript Harmony 版本，也被叫做ES6 Harmony。72016年6月ECMAScript 2016（ES2016），第 7 版，多個新的概念和語言特性82017年6月ECMAScript 2017（ES2017），第 8 版，多個新的概念和語言特性92018年6月ECMAScript 2018 （ES2018），第 9 版，包含了异步循环，生成器，新的正则表达式特性和 rest/spread 语法。102019年6月ECMAScript 2019 （ES2019），第 10 版112020年6月ECMAScript 2020 （ES2020），第 11 版122021年6月ECMAScript 2021 （ES2021），第 12 版132022年6月ECMAScript 2022 （ES2022），第 13 版

2004年6月Ecma组织发表了ECMA-357标准，它是ECMAScript的一个扩延，也被称为E4X（ECMAScript for XML）。

 相容性 
许多应用程序支持ECMAScript，尤其是网页浏览器。下列表格列出了目前版本的軟體與ECMAScript最新版本的相容性。
 腳本引擎 參考應用程式 相容性ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score. ES5 ES6 ES7 較新（2016+）包括從ES7到下一版草案的綜合評分 Chakra Microsoft Edge 18 100%  96%  100%  48% SpiderMonkey Firefox 94 100%  98%  100%  100% Chrome V8 Google Chrome 95、Opera 80、Microsoft Edge 95 100%  98%  100%  100% JavaScriptCore（Nitro） Safari 15 100%  99%  100%  90%

該測試的內容託管在官方存儲庫 https://github.com/tc39/test262  中，也可以在 https://v8.github.io/test262/website/default.html  和 https://bakkot.github.io/test262-web-runner/  上訪問最新的Web瀏覽器測試套件工具。官方存儲庫還指向由社區維護的其他項目測試套件，以測試其他例如 Node.js 的 ECMAScript / JavaScript 環境。

 參考文獻 

 外部連結 



E
E
E
Category:基于原型的编程语言
Category:基于对象的编程语言