跳转到内容

ECMAScript:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Fuyuanhao留言 | 贡献
修饰语句,更新表格中2019年版本
Fengshuo2004留言 | 贡献
增加或调整内部链接 纠正链接与后面括号连起来的问题 消除模板告警
 
(未显示12个用户的24个中间版本)
第1行: 第1行:
{{Update|time=2020-06-23T07:53:08+00:00}}
{{noteTA
{{noteTA
|G1=IT
|G1=IT
|1=zh-hans:实现;zh-hant:實作;
}}
}}

{{Infobox programming language
{{Infobox programming language
| name = ECMAScript
| name = ECMAScript
| paradigm = [[多重編程範式]]、[[原型程式設計]]、[[函數程式語言]]、[[指令式編程]]
| paradigm = [[多重編程範式]]、[[基于原型程]]、[[函數程式語言]]、[[指令式編程]]
| year = {{Start date and age|1997}}
| released = {{Start date and age|1997}}
| designer = [[布蘭登·艾克]]、[[Ecma國際]]
| designer = [[布蘭登·艾克]]、[[Ecma國際]]
| turing-complete = Yes
| typing = [[弱类型]]、[[型別系統|動態]]
| typing = [[弱类型]]、[[型別系統|動態]]
| implementations = [[SpiderMonkey]]、[[V8 (JavaScript引擎)|V8]]、[[ActionScript]]、[[JScript]]、[[QtScript]]、[[InScript (JavaScript engine)|InScript]]
| implementations = [[SpiderMonkey]]、[[V8 (JavaScript引擎)|V8]]、[[ActionScript]]、[[JScript]]、[[QtScript]]、{{en-link|InScript (JavaScript引擎)|InScript (JavaScript engine)|InScript}}
| influenced_by = [[Self]]、[[HyperTalk]]、[[AWK]]、[[C语言|C]]、[[Perl]]、[[Python]]、[[Java]]、[[Scheme]]
| influenced by = [[Self]]、{{en-link|HyperTalk}}、[[AWK]]、[[C语言|C]]、[[Perl]]、[[Python]]、[[Java]]、[[Scheme]]
}}
}}
{{Infobox file format
{{Infobox file format
第26行: 第26行:
| owner = [[昇陽電腦公司]]<br />Ecma國際
| owner = [[昇陽電腦公司]]<br />Ecma國際
| released = {{Start date and age|1997|06}}
| released = {{Start date and age|1997|06}}
| latest release version = 第 9
| latest release version = 第 13
| latest release date = {{start date and age|2018|06}}
| latest release date = {{start date and age|2022|06}}
| genre = [[脚本語言]]
| genre = [[脚本語言]]
| container for =
| container for =
第36行: 第36行:
| url = [http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMA-262][http://www.ecma-international.org/publications/standards/Ecma-290.htm ECMA-290]<br />[http://www.ecma-international.org/publications/standards/Ecma-327.htm ECMA-327][http://www.ecma-international.org/publications/standards/Ecma-357.htm ECMA-357]<br />[http://www.ecma-international.org/publications/standards/Ecma-402.htm ECMA-402]
| url = [http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMA-262][http://www.ecma-international.org/publications/standards/Ecma-290.htm ECMA-290]<br />[http://www.ecma-international.org/publications/standards/Ecma-327.htm ECMA-327][http://www.ecma-international.org/publications/standards/Ecma-357.htm ECMA-357]<br />[http://www.ecma-international.org/publications/standards/Ecma-402.htm ECMA-402]
}}
}}
{{lang|en|'''ECMAScript'''}}是一种由[[Ecma国际]](前身为[[欧洲计算机制造商协会]])在标准ECMA-262中定义的脚本语言规范。这种语言在[[万维网]]上应用广泛,它往往被称为[[JavaScript]]或[[JScript]],但实际上后两者是ECMA-262标准的实现和扩展。
{{lang|en|'''ECMAScript'''}}是一种由[[Ecma国际]](前身为[[欧洲计算机制造商协会]])在标准ECMA-262中定义的[[脚本语言]]规范。这种语言在[[万维网]]上应用广泛,它往往被称为[[JavaScript]]或[[JScript]],但实际上后两者是ECMA-262标准的实现和扩展。


== 历史 ==
== 历史 ==
ECMAScript是由[[网景公司|网景]]的[[布蘭登·艾克]]開發的一種腳本語言的標準化規範;最初命名為Mocha,後來改名為LiveScript,最後重新命名為JavaScript<ref>{{cite web|last=Krill |first=Paul |url=http://www.infoworld.com/article/2653798/application-development/javascript-creator-ponders-past--future.html |title=JavaScript creator ponders past, future |publisher=InfoWorld |date=2008-06-23 |accessdate=2013-10-31}}</ref>。1995年12月,[[升阳电脑公司|升阳]]与网景聯合發表了JavaScript<ref>{{cite web |url=http://wp.netscape.com/newsref/pr/newsrelease67.html |archiveurl=https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html |archivedate=2007-09-16 |title=Press Release |publisher=Web.archive.org |date= |accessdate=2013-10-31 |deadurl=yes }}</ref>。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。
ECMAScript是由[[网景公司|网景]]的[[布蘭登·艾克]]開發的一種腳本語言的標準化規範;最初命名為Mocha,後來改名為LiveScript,最後重新命名為JavaScript<ref>{{cite web |last=Krill |first=Paul |url=http://www.infoworld.com/article/2653798/application-development/javascript-creator-ponders-past--future.html |title=JavaScript creator ponders past, future |publisher=InfoWorld |date=2008-06-23 |accessdate=2013-10-31 |archive-date=2014-09-20 |archive-url=https://web.archive.org/web/20140920141040/http://www.infoworld.com/article/2653798/application-development/javascript-creator-ponders-past--future.html |dead-url=no }}</ref>。1995年12月,[[升阳电脑公司|升阳]]与网景聯合發表了JavaScript<ref>{{cite web |url=http://wp.netscape.com/newsref/pr/newsrelease67.html |archiveurl=https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html |archivedate=2007-09-16 |title=Press Release |publisher=Web.archive.org |date= |accessdate=2013-10-31 |deadurl=yes }}</ref>。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。


儘管JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能<ref>{{cite web|url=http://javascript.about.com/od/reference/a/jscript.htm |title=JScript VS JavaScript |publisher=About.com |date=2015-11-25}}</ref>。
儘管JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能<ref>{{cite web |url=http://javascript.about.com/od/reference/a/jscript.htm |title=JScript VS JavaScript |publisher=About.com |date=2015-11-25 |accessdate=2018-06-30 |archive-date=2015-11-26 |archive-url=https://web.archive.org/web/20151126040655/http://javascript.about.com/od/reference/a/jscript.htm |dead-url=no }}</ref>。


== 版本 ==
== 版本 ==
至今为止有九个ECMA-262版本发表。

{| class="wikitable"
{| class="wikitable"
|- style="background: #ccccff;"
|- style="background: #ccccff;"
第66行: 第64行:
|4
|4
|放棄
|放棄
|由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎
|由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎;由[[ActionScript]]實現
|-
|-
|5
|5
|2009年12月
|2009年12月
|新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持[[JSON]]以及在物件屬性上更完整的[[反射 (計算機科學)|反射]]<ref>[http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf ECMA-262 5th Edition: ECMAScript Language Specification] {{Wayback|url=http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf |date=20150412040502 }}</ref><ref>[http://www.youtube.com/watch?v=Kq4FpMe6cRs Changes to JavaScript, Part 1: EcmaScript 5]</ref><ref>http://www.ecma-international.org/news/PressReleases/PR_Ecma_finalises_major_revision_of_ECMAScript.htm</ref><ref>[http://www.infoq.com/cn/news/2009/12/ecmascript5 InfoQ: ECMAScript 5正式发布]</ref><ref>[http://ithelp.ithome.com.tw/question/10031677 Javascript面面觀:核心篇《ECMA-262 Edition 5》]</ref>
|新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持[[JSON]]以及在物件屬性上更完整的[[反射式编程|反射]]<ref>{{Cite web |url=http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf |title=ECMA-262 5th Edition: ECMAScript Language Specification |accessdate=2010-04-08 |archive-date=2015-04-12 |archive-url=https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf |dead-url=no }}</ref><ref>{{Cite web |url=http://www.youtube.com/watch?v=Kq4FpMe6cRs |title=Changes to JavaScript, Part 1: EcmaScript 5 |accessdate=2009-07-07 |archive-date=2011-02-09 |archive-url=https://web.archive.org/web/20110209185045/http://www.youtube.com//watch?v=Kq4FpMe6cRs |dead-url=no }}</ref><ref>{{Cite web |url=http://www.ecma-international.org/news/PressReleases/PR_Ecma_finalises_major_revision_of_ECMAScript.htm |title=存档副本 |accessdate=2009-07-07 |archive-date=2011-08-22 |archive-url=https://www.webcitation.org/618ETYcXh?url=http://www.ecma-international.org/news/PressReleases/PR_Ecma_finalises_major_revision_of_ECMAScript.htm |dead-url=no }}</ref><ref>{{Cite web |url=http://www.infoq.com/cn/news/2009/12/ecmascript5 |title=InfoQ: ECMAScript 5正式发布 |accessdate=2010-04-08 |archive-date=2010-04-10 |archive-url=https://web.archive.org/web/20100410063801/http://www.infoq.com/cn/news/2009/12/ecmascript5 |dead-url=no }}</ref><ref>{{Cite web |url=http://ithelp.ithome.com.tw/question/10031677 |title=Javascript面面觀:核心篇《ECMA-262 Edition 5》 |accessdate=2010-04-08 |archive-date=2011-02-18 |archive-url=https://web.archive.org/web/20110218012041/http://ithelp.ithome.com.tw/question/10031677 |dead-url=no }}</ref>
|-
|-
| 5.1
| 5.1
第82行: 第80行:
|7
|7
|2016年6月
|2016年6月
|ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性<ref name="ES2016">{{cite web|title=ECMAScript 2016 Language Specification|url=http://www.ecma-international.org/ecma-262/7.0/index.html|date=2016-06|publisher=[[Ecma International]]}}</ref>
|ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性<ref name="ES2016">{{cite web|title=ECMAScript 2016 Language Specification|url=http://www.ecma-international.org/ecma-262/7.0/index.html|date=2016-06|publisher=[[Ecma International]]|accessdate=2016-08-20|archive-date=2016-08-20|archive-url=https://web.archive.org/web/20160820215647/http://www.ecma-international.org/ecma-262/7.0/index.html|dead-url=no}}</ref>
|-
|-
|8
|8
|2017年6月
|2017年6月
|ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性<ref name=":0">{{Cite web|url=http://2ality.com/2016/02/ecmascript-2017.html|title=ECMAScript 2017 (ES8): the final feature set|website=2ality|access-date=2018-04-23}}</ref>
|ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性<ref name=":0">{{Cite web|url=http://2ality.com/2016/02/ecmascript-2017.html|title=ECMAScript 2017 (ES8): the final feature set|website=2ality|access-date=2018-04-23|archive-date=2018-04-23|archive-url=https://web.archive.org/web/20180423232252/http://2ality.com/2016/02/ecmascript-2017.html|dead-url=yes}}</ref>
|-
|-
|9
|9
|2018年6月
|2018年6月
|ECMAScript 2018 (ES2018),第 9 版,包含了异步循环,生成器,新的正则表达式特性和 rest/spread 语法。
|ECMAScript 2018 (ES2018),第 9 版,包含了异步循环,生成器,新的正则表达式特性和 rest/spread 语法。
|
|-
|-
|10
|10
|2019年6月
|2019年6月
|ECMAScript 2019 (ES2019),第 10 版
|ECMAScript 2019 (ES2019),第 10 版
|-
|-
|11
|2020年6月
|ECMAScript 2020 (ES2020),第 11 版
|-
|-
|12
|2021年6月
|ECMAScript 2021 (ES2021),第 12 版
|-
|-
|13
|2022年6月
|ECMAScript 2022 (ES2022),第 13 版
|-
|}
|}


第108行: 第121行:
! colspan="4" | 相容性<ref>ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score.</ref>
! colspan="4" | 相容性<ref>ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score.</ref>
|-
|-
! ES5<ref name="kangax5">{{Cite web|url=https://kangax.github.io/compat-table/es5|title=ECMAScript 5 compatibility table|website=kangax.github.io|language=en|access-date=2018-03-19}}</ref>
! ES5<ref name="kangax5">{{Cite web|url=https://kangax.github.io/compat-table/es5|title=ECMAScript 5 相容性列表|website=kangax.github.io|language=en|access-date=2018-11-18|archive-date=2018-11-19|archive-url=https://web.archive.org/web/20181119145151/http://kangax.github.io/compat-table/es5/|dead-url=yes}}</ref>
! ES6<ref name="kangax6">{{Cite web|url=https://kangax.github.io/compat-table/es6|title=ECMAScript 6 compatibility table|website=kangax.github.io|language=en|access-date=2018-03-19}}</ref>
! ES6<ref name="kangax6">{{Cite web|url=https://kangax.github.io/compat-table/es6|title=ECMAScript 6 相容性列表|website=kangax.github.io|language=en|access-date=2018-11-18|archive-date=2018-11-17|archive-url=https://web.archive.org/web/20181117194027/http://kangax.github.io/compat-table/es6/|dead-url=yes}}</ref>
! ES7<ref name="kangax2016plus">{{Cite web|url=https://kangax.github.io/compat-table/es2016plus|title=ECMAScript 2016+ compatibility table|website=kangax.github.io|language=en|access-date=2018-03-19}}</ref>
! ES7<ref name="kangax2016plus">{{Cite web|url=https://kangax.github.io/compat-table/es2016plus|title=ECMAScript 2016+ 相容性列表|website=kangax.github.io|language=en|access-date=2018-11-18|archive-date=2018-11-24|archive-url=https://web.archive.org/web/20181124112954/http://kangax.github.io/compat-table/es2016plus/|dead-url=yes}}</ref>
! 較新(2016+)<ref name="kangax2016plus"/><ref>包括從ES7到下一版草案的綜合評分</ref>
! 較新(2016+)<ref name="kangax2016plus">{{Cite web|url=https://kangax.github.io/compat-table/es2016plus|title=ECMAScript 2016+ compatibility table|website=kangax.github.io|language=en|access-date=2018-03-19}}</ref><ref>Composite score that includes new features from ES7 through next edition drafts</ref>
|-
|-
| [[Chakra (JavaScript引擎)|Chakra]]
| [[Chakra (JavaScript引擎)|Chakra]]
| [[Microsoft Edge]] 18
| [[Microsoft Edge]] 18
| 100% || 96% || 100% || 58%
| 100% || 96% || 100% || 48%
|-
|-
| [[SpiderMonkey]]
| [[SpiderMonkey]]
| [[Firefox]] 63
| [[Firefox]] 94
| 100% || 98% || 100% || 78%
| 100% || 98% || 100% || 100%
|-
|-
| [[V8_(JavaScript引擎)|Chrome V8]]
| [[V8_(JavaScript引擎)|Chrome V8]]
| [[Google Chrome]] 70、[[Opera電腦瀏覽器|Opera]] 57
| [[Google Chrome]] 95、[[Opera電腦瀏覽器|Opera]] 80、[[Microsoft Edge]] 95
| 100% || 98% || 100% || 100%
| 100% || 98% || 100% || 100%
|-
|-
| [[JavaScriptCore]](Nitro)
| [[JavaScriptCore]](Nitro)
| [[Safari]] 12
| [[Safari]] 15
| 99% || 99% || 100% || 90%
| 100% || 99% || 100% || 90%
|}
|}

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


== 參考文獻 ==
== 參考文獻 ==
第147行: 第162行:
[[Category:程序設計語言|E]]
[[Category:程序設計語言|E]]
[[Category:JavaScript|E]]
[[Category:JavaScript|E]]
[[Category:基于原型的编程语言]]
[[Category:基于对象的编程语言]]

2023年2月24日 (五) 21:52的最新版本

ECMAScript
编程范型多重編程範式基于原型编程函數程式語言指令式編程
設計者布蘭登·艾克Ecma國際
发行时间1997年,​27年前​(1997
当前版本
    編輯維基數據鏈接
    型態系統弱类型動態
    網站ecma-international.org 編輯維基數據鏈接
    主要實作產品
    SpiderMonkeyV8ActionScriptJScriptQtScriptInScript英语InScript (JavaScript engine)
    啟發語言
    SelfHyperTalk英语HyperTalkAWKCPerlPythonJavaScheme
    ECMAScript
    扩展名
    .es
    互联网媒体类型
    application/ecmascript
    开发者昇陽電腦公司
    Ecma國際
    首次发布1997年6月,​27年前​(1997-06
    最新版本
    第 13 版
    2022年6月,​2年前​(2022-06
    格式类型脚本語言
    网站ECMA-262ECMA-290
    ECMA-327ECMA-357
    ECMA-402

    ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为JavaScriptJScript,但实际上后两者是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 版
    12 2021年6月 ECMAScript 2021 (ES2021),第 12 版
    13 2022年6月 ECMAScript 2022 (ES2022),第 13 版

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

    相容性

    [编辑]

    许多应用程序支持ECMAScript,尤其是网页浏览器。下列表格列出了目前版本的軟體與ECMAScript最新版本的相容性。

    腳本引擎 參考應用程式 相容性[11]
    ES5[12] ES6[13] ES7[14] 較新(2016+)[14][15]
    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 環境。

    參考文獻

    [编辑]
    1. ^ Krill, Paul. JavaScript creator ponders past, future. InfoWorld. 2008-06-23 [2013-10-31]. (原始内容存档于2014-09-20). 
    2. ^ Press Release. Web.archive.org. [2013-10-31]. (原始内容存档于2007-09-16). 
    3. ^ JScript VS JavaScript. About.com. 2015-11-25 [2018-06-30]. (原始内容存档于2015-11-26). 
    4. ^ ECMA-262 5th Edition: ECMAScript Language Specification (PDF). [2010-04-08]. (原始内容存档 (PDF)于2015-04-12). 
    5. ^ Changes to JavaScript, Part 1: EcmaScript 5. [2009-07-07]. (原始内容存档于2011-02-09). 
    6. ^ 存档副本. [2009-07-07]. (原始内容存档于2011-08-22). 
    7. ^ InfoQ: ECMAScript 5正式发布. [2010-04-08]. (原始内容存档于2010-04-10). 
    8. ^ Javascript面面觀:核心篇《ECMA-262 Edition 5》. [2010-04-08]. (原始内容存档于2011-02-18). 
    9. ^ ECMAScript 2016 Language Specification. Ecma International. 2016-06 [2016-08-20]. (原始内容存档于2016-08-20). 
    10. ^ ECMAScript 2017 (ES8): the final feature set. 2ality. [2018-04-23]. (原始内容存档于2018-04-23). 
    11. ^ ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score.
    12. ^ ECMAScript 5 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-19) (英语). 
    13. ^ ECMAScript 6 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-17) (英语). 
    14. ^ 14.0 14.1 ECMAScript 2016+ 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-24) (英语). 
    15. ^ 包括從ES7到下一版草案的綜合評分

    外部連結

    [编辑]