術語
ECMAScript
Sun(現在的Oracle)公司持有着“Java”和“JavaScript”的商標。這就讓微軟不得不把自己的JavaScript方言稱之為“JScript”。然后,在這門語言被標准化的時候,就必須使用一個與二者都不同的名字。“ECMAScript”就這樣誕生了,這個名字的來由是因為執行標准化的組織是Ecma國際。通常來說,術語“ECMAScript”和“JavaScript”指的是同一個東西。但如果把JavaScript看成是“Mozilla或其他組織的ECMAScript實現”,那么ECMAScript就是實現JavaScript所依據的標准。
ECMA-262
Ecma國際 (一個標准化組織)創建了ECMA-262規范,這個規范就是ECMAScript語言的官方標准。
Ecma第39號技術委員會 (TC39)
是一組開發ECMA-262標准規范的人(Brendan Eich和其他一些人)。
歷史
ECMAScript 1
1997年6月發布,本質上與javascript 1.1 相同——只不過只不過刪除了所有針對瀏覽器的代碼並作了一些較小的改動:ECMAScript要求支持Unicode標准,而且對象也變成了平台無關的。
ECMAScript 2
1998年6月發布,主要是編輯加工的結果。這一版的內容更新是為了與ISO/IEC-16262保持嚴格一致,沒有作任何新增、修改或刪節處理。因此,一般不使用第2版來衡量ECMAScript實現的兼容性。
ECMAScript 3
1999年12月發布,是對ECMAScript標准第一次真正的修改。新增了對正則表達式、新控制語句、try-catch異常處理的支持,修改了字符處理、錯誤定義和數值輸出等內容。
從各方面綜合來看,第3版標志着ECMAScript成為了一門真正的編程語言。
ECMAScript 4(ECMAScript 5)
於2008年7月發布前被廢棄……命運坎坷
ECMAScript 5.1(http://www.ecma-international.org/ecma-262/5.1/)目前常用版本
2009年12月發布,該版本力求澄清第3版中的歧義,並添加了新的功能。新功能包括:原生JSON對象、繼承的方法、高級屬性的定義以及引入嚴格模式。
ECMAScript 6
2015年6月17日發布。截止發布日期,JavaScript的官方名稱是ECMAScript 2015,Ecma國際意在更頻繁地發布包含小規模增量更新的新版本,下一版本將於2016年發布,命名為ECMAScript 2016。從現在開始,新版本將按照ECMAScript+年份的形式發布。
S6是繼ES5之后的一次主要改進,語言規范由ES5.1時代的245頁擴充至600頁。ES6增添了許多必要的特性,例如:模塊和類以及一些實用特性,例如Maps、Sets、Promises、生成器(Generators)等。
盡管ES6做了大量的更新,但是它依舊完全向后兼容以前的版本,標准化委員會決定避免由不兼容版本語言導致的“web體驗破碎”。結果是,所有老代碼都可以正常運行,整個過渡也顯得更為平滑,但隨之而來的問題是,開發者們抱怨了多年的老問題依然存在。
ECMAScript2016
2016年6月小幅修訂的《ECMAScript 2016標准》(簡稱 ES2016)如期發布(只新增了數組實例的includes方法和指數運算符)
ECMAScript2017
還未發布正式版本。
