| 此條目需要更新。 (2020年6月23日) 請更新本文以反映近況和新增内容。完成修改時,請移除本模板。 |
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。
ECMAScript是由网景的布蘭登·艾克開發的一種腳本語言的標準化規範;最初命名為Mocha,後來改名為LiveScript,最後重新命名為JavaScript[1]。1995年12月,升阳与网景聯合發表了JavaScript[2]。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。
儘管JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能[3]。
| 版本
|
发表日期
|
与前版本的差异
|
| 1
|
1997年6月
|
首版
|
| 2
|
1998年6月
|
格式修正,以使得其形式与ISO/IEC16262国际标准一致
|
| 3
|
1999年12月
|
强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变
|
| 4
|
放棄
|
由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎;由ActionScript實現
|
| 5
|
2009年12月
|
新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持JSON以及在物件屬性上更完整的反射[4][5][6][7][8]
|
| 5.1
|
2011年6月
|
ECMAScript标5.1版形式上完全一致于国际标准ISO/IEC 16262:2011。
|
| 6
|
2015年6月
|
ECMAScript 2015(ES2015),第 6 版,最早被称作是 ECMAScript 6(ES6),添加了类和模块的语法,其他特性包括迭代器,Python风格的生成器和生成器表达式,箭头函数,二进制数据,静态类型数组,集合(maps,sets 和 weak maps),promise,reflection 和 proxies。作为最早的 ECMAScript Harmony 版本,也被叫做ES6 Harmony。
|
| 7
|
2016年6月
|
ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性[9]
|
| 8
|
2017年6月
|
ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性[10]
|
| 9
|
2018年6月
|
ECMAScript 2018 (ES2018),第 9 版,包含了异步循环,生成器,新的正则表达式特性和 rest/spread 语法。
|
| 10
|
2019年6月
|
ECMAScript 2019 (ES2019),第 10 版
|
| 11
|
2020年6月
|
ECMAScript 2020 (ES2020),第 11 版
|
2004年6月Ecma组织发表了ECMA-357标准,它是ECMAScript的一个扩延,也被称为E4X(ECMAScript for XML)。
相容性[编辑]
许多应用程序支持ECMAScript,尤其是网页浏览器。下列表格列出了目前版本的軟體與ECMAScript最新版本的相容性。
該測試的內容託管在官方存儲庫 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 環境。
參考文獻[编辑]
外部連結[编辑]
網頁技術與標準 |
|---|
| | 文档呈现语言 | |
|---|
| | 样式格式描述语言 | |
|---|
| | 动态网页技术 | |
|---|
| | 用戶端互動技术 | |
|---|
| | 用戶端手稿語言 | |
|---|
| | 标识定位语言 | |
|---|
| | 文档纲要语言 | |
|---|
| |
|