ECMAScript





body.skin-minerva .mw-parser-output table.infobox caption{text-align:center}




























ECMAScript
编程范型
多重編程範式、原型程式設計、函數程式語言、指令式編程
設計者
布蘭登·艾克、Ecma國際
发行时间
1997年,​20年前​(1997
型態系統
弱类型、動態
網站
ecma-international.org
主要實作產品

SpiderMonkey、V8、ActionScript、JScript、QtScript、InScript
啟發語言

Self、HyperTalk、AWK、C、Perl、Python、Java、Scheme



































ECMAScript

Crystal source.png
扩展名
.es

互联网媒体类型

application/ecmascript
开发者
昇陽電腦公司
Ecma國際
初始版本
1997年6月,​21年前​(1997-06
最新版本
第 9 版
(2018年6月,​5個月前​(2018-06)

格式类型
脚本語言
网站
ECMA-262ECMA-290
ECMA-327ECMA-357
ECMA-402

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。




目录






  • 1 历史


  • 2 版本


  • 3 相容性


  • 4 參考文獻


  • 5 外部連結





历史


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]



版本


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





















































版本
发表日期
与前版本的差异
1
1997年6月
首版
2
1998年6月
格式修正,以使得其形式与ISO/IEC16262国际标准一致
3
1999年12月
强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变
4
放棄
由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎
5
2009年12月
新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持JSON以及在物件屬性上更完整的反射[4][5][6][7][8]
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 语法。

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
100% 96% 100% 54%

SpiderMonkey

Firefox
100% 98% 100% 77%

Chrome V8

Google Chrome、Opera
100% 98% 100% 93%

JavaScriptCore(Nitro)

Safari
97% 99% 100% 83%


參考文獻





  1. ^ Krill, Paul. JavaScript creator ponders past, future. InfoWorld. 2008-06-23 [2013-10-31]. 


  2. ^ Press Release. Web.archive.org. [2013-10-31]. (原始内容存档于2007-09-16). 


  3. ^ JScript VS JavaScript. About.com. 2015-11-25. 


  4. ^ ECMA-262 5th Edition: ECMAScript Language Specification 页面存档备份,存于互联网档案馆


  5. ^ Changes to JavaScript, Part 1: EcmaScript 5


  6. ^ http://www.ecma-international.org/news/PressReleases/PR_Ecma_finalises_major_revision_of_ECMAScript.htm


  7. ^ InfoQ: ECMAScript 5正式发布


  8. ^ Javascript面面觀:核心篇《ECMA-262 Edition 5》


  9. ^ ECMAScript 2016 Language Specification. Ecma International. 2016-06. 


  10. ^ ECMAScript 2017 (ES8): the final feature set. 2ality. [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 compatibility table. kangax.github.io. [2018-03-19] (英语). 


  13. ^ ECMAScript 6 compatibility table. kangax.github.io. [2018-03-19] (英语). 


  14. ^ 14.014.1 ECMAScript 2016+ compatibility table. kangax.github.io. [2018-03-19] (英语). 


  15. ^ Composite score that includes new features from ES7 through next edition drafts




外部連結




  • 官方网站 在维基数据上编辑此内容











Popular posts from this blog

Lambaréné

Chris Pine

Kashihara Line