關於 ECMASCRIPT 發展史和現狀 – JavaScript 完全手冊(2018版)
小編推薦: ofollow,noindex">掘金是一個面向程式員的高質量技術社群,從 一線大廠經驗分享到前端開發最佳實踐,無論是入門還是進階,來掘金你不會錯過前端開發的任何一個技術乾貨。
每當您閱讀 JavaScript 相關內容時,您將不可避免地看到以下其中一些術語:
- ES3
- ES5
- ES6
- ES7
- ES8
- ES2015
- ES2016
- ES2017
- ECMAScript 2017
- ECMAScript 2016
- ECMAScript 2015
他們的意思是什麼呢?
它們都指的是一個名為 ECMAScript 的標準。
ECMAScript 是 JavaScript 實現所基於的標準,它通常縮寫為 ES 。
除 JavaScript 外,其他語言實現(ed)ECMAScript,包括:
- ActionScript (Flash指令碼語言),自 Flash 宣佈將於2020年正式停止維護以來,它的人氣正在下降。
- JScript (微軟指令碼語言),因為當時只有 Netscape 支援 JavaScript 並且瀏覽器大戰達到頂峰,微軟必須為 Internet Explorer 構建自己的指令碼語言。
但是,當然,JavaScript 是 最流行 和廣泛使用的 ES 實現。
為何這個奇怪的名字? Ecma International
是瑞士標準協會,負責制定國際標準。
當 JavaScript 被建立時,它由 Netscape 和 Sun Microsystems 呈給 Ecma ,他們給它命名為 ECMA-262 ,別名 ECMAScript 。
根據 維基百科的說法 , Netscape 和Sun Microsystems (Java的製造商) 釋出的這篇新聞稿 可能會幫助你確定名字的選擇,其中可能包括微軟在委員會中的法律和品牌問題。
在 IE9 之後,微軟停止在瀏覽器中將其 ES 支援稱為 JScript ,並開始將其稱為 JavaScript (至少,我再也找不到對 JScript 的引用了)。
因此,截至201x,支援 ECMAScript 規範的唯一流行語言是 JavaScript 。
當前的 ECMAScript 版本
當前的 ECMAScript 版本是 ES2017,也稱為 ES8 。它於2017年6月釋出。
下一個版本何時推出?
從歷史上看,JavaScript 新版本(ES2018)在今年夏季已經標準化,因此我們可以預期為 ECMAScript 2019( ES2019 或 ES10 )將於2019年夏季釋出,但這只是猜測。
關於 TC39
TC39 是 JavaScript 發展委員會。
TC39 的成員是涉及 JavaScript 和瀏覽器供應商的公司,包括 Mozilla,Google,Facebook,Apple,Microsoft,Intel,PayPal,SalesForce等。
每個標準版本提案都必須經過幾個階段,這裡將對此進行解釋。
ES版本
我發現令人費解的是,為什麼有時 ES 版本會以版本編號引用,有時卻按年份引用。
在 ES2015 之前,ECMAScript 規範通常按其版本命名。 因此,ES5 是 2009 年更新發布的ECMAScript 規範的官方名稱。
為什麼會這樣呢? 在 ES2015 誕生的過程中,這個名字從 ES6 變成了 ES2015 ,原因是由於這個過程比較晚,人們仍然把它習慣性的稱為 ES6 ,社群並不是忘記了 ES2015 版本的命名 —— 只不過大家仍然在按照版本號來稱呼 ES 的版本。
這個表應該清楚一點:
ES.Next 始終指示下一版本 JavaScript 的名稱。
在撰寫本文時,ES9 已經發布,ES.Next 是 ES10 。
注:本文為 《 JavaScript 完全手冊(2018版)》第一節,你可以檢視該手冊的完整目錄