ECMAScript 2015正式釋出
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新特性的書籍。
相關文章
- Visual Studio 2015正式釋出
- Visual Studio 2015 正式釋出
- ECMAScript 2017 語言規範釋出
- ECMAScript® 2015 Language Specification
- Visual Studio 2015 正式釋出,已開放下載
- Visual Studio 2015與.NET 4.6 RTM正式釋出
- ECMAScript 2021 正式確認
- Fedora 31 正式釋出
- .NET 8正式釋出
- Flutter 2.8 正式釋出Flutter
- Dart 2.17 正式釋出Dart
- Flutter 3.7 正式釋出Flutter
- NutUI 4.0 正式釋出!UI
- OpenCV 4.5.1正式釋出!OpenCV
- ?? webpack 3: 正式釋出!! ??Web
- CentOS 6.5 正式釋出CentOS
- PyCharm 4 正式釋出!PyCharm
- Rust 1.0 正式釋出Rust
- Fedora 24 正式釋出!
- Seam 2.0正式釋出
- KDE 5.6 正式釋出
- Java 22 正式釋出Java
- Firefox 31釋出,包含了ECMAScript 6的新特性Firefox
- Kotlin 1.3.70正式釋出Kotlin
- Blazor WebAssembly 3.2 正式釋出BlazorWeb
- DragonFlyBSD 5.4.3 正式釋出Go
- Kotlin 1.3.40正式釋出Kotlin
- Bootstrap4 正式釋出boot
- 〔譯〕TypeScript 2.0 正式釋出TypeScript
- 蘋果 macOS 13.4 正式釋出蘋果Mac
- Go 1.18 正式釋出!Go
- [中文] Bootstrap 4 正式釋出boot
- Angular6.0正式釋出Angular
- Python 3.3.5 正式釋出Python
- FreeBSD 9.3 正式釋出!
- Ubuntu 6.06正式釋出Ubuntu
- 快來使用ECMAScript 2015吧
- Cloudarrow V2.0 正式釋出!Cloud