ECMAScript 2015正式釋出

infoq發表於2015-06-27

  Ecma國際大會宣佈正式批准ECMA-262第6版,亦即ECMAScript 2015(曾用名:ECMAScript 6、ES6)的語言規範。

  JavaScript是Brendan Eich在1995年用10天的時間發明的,但是它經歷了20年的時間才逐漸吸收了在其它現代語言中所流行的一些特性。它並非你初學程式語言的最佳選擇,但是卻成就了一個非常好的思想:即在瀏覽器中使用的語言,因此JavaScript迅速地吸引了人們的眼球,並於第二年提交了標準化請求。1997年由Ecma釋出了1.0版本,1998年的2.0版本只進行了小幅修改,1999年釋出3.0版本,增加了一些新的特性。

  自此以後的幾年中JavaScript便被冷落,直到Ajax作為瀏覽器中客戶端應用的解決方案一舉興起,改進JavaScript的工作才重整旗鼓,但是起初並非所有相關人員都完全贊同接下來的發展方向。直到2008年,ECMAScript技術委員會TC39就草案制定問題達成一致,決定先進行一次小規模迭代,亦即2009年釋出的ECMAScript 5(ES5),隨後再進行一次更大規模的迭代,也就是這次所批准的ES6。

  最新版本JavaScript的官方名稱是ECMAScript 2015,Ecma國際意在更頻繁地釋出包含小規模增量更新的新版本,下一版本將於2016年釋出,命名為ECMAScript 2016。從現在開始,新版本將按照ECMAScript+年份的形式釋出。

  ES6是繼ES5之後的一次主要改進,語言規範由ES5.1時代的245頁擴充至600頁。ES6增添了許多必要的特性,例如:模組和類,以及一些實用特性,例如Maps、Sets、Promises、生成器(Generators)等。儘管ES6做了大量的更新,但是它依舊完全向後相容以前的版本,標準化委員會決定避免由不相容版本語言導致的“web體驗破碎”。結果是,所有老程式碼都可以正常執行,整個過渡也顯得更為平滑,但隨之而來的問題是,開發者們抱怨了多年的老問題依然存在。

  目前,沒有一款完全支援ES6的JavaScript代理(無論是瀏覽器環境還是伺服器環境),所以熱衷於使用語言最新特性的開發者需要將ES6程式碼轉譯為ES5程式碼。等到主流瀏覽器完全實現ES6特性大概需要一年左右的時間,若想一睹各代理對於ES6特性的支援情況,我們推薦大家參考由kangax維護的ECMAScript Compatibility Table

  ECMAScript 2016的制定工作已經啟動,許多草案已被提交到委員會,包括以下這些:非同步方法、定型物件、並行JavaScript、類修飾符以及observables。雖然委員會正在積極評估這些特性,但我們無法預知它們的未來,其中一些會加入到下一版規範,另一些會加入未來的其它規範,剩下的將最終被遺棄。TC39程式解釋了新特性從開始到最終被語言採用所經歷的各種階段。

  JavaScript起初發展緩慢,但是最近正在飛速進化,JavaScript是持久的,未來有更大的發展空間。數以百萬計的開發者正受益其中,希望標準化組織會引導其走向社群樂於見到的康莊大道。

  擴充套件閱讀:《探索ES6:相關書籍介紹及作者採訪》,這篇文章回顧了Axel Rauschmayer近期撰寫的有關深度解析ES6新特性的書籍。

  英文原文:ECMAScript 2015 Has Been Approved

相關文章