你知道 ES6~ES12等叫法是怎麼來的嗎?
前言
作為一名前端開發,學習 JavaScript 自是天經地義的事,但是,JavaScript 的發展歷史是怎樣的,恐怕有相當一部分人都不太瞭解。
我們常常聽別人說並且自己也會說 ES6、ES7……ES12,那麼,這些叫法到底是怎麼來的?
今天,我們就來總結一下這些有關 JavaScript 的發展歷程。
通過閱讀本文,你將瞭解以下知識:
- ECMA 是什麼
- ECMAScript 是什麼
- JavaScript 的由來
- ES5 ~ ES12 的意義
關於 ECMA
ECMA 全稱為 European Computer Manufacturers Association
,翻譯過來就是“歐洲計算機制造商協會”,是一個成立於 1961 年的、極具影響力的國際組織。
但是,因為計算機的國際化,ECMA 的標準牽涉到很多其他國家,因此於 1994 年改名為 Ecma國際
,以表明其國際性。
Ecma國際
專門制定資訊和通訊系統的標準和報告,以促進和規範資訊通訊技術與消費電子產品。
迄今為止,Ecma國際
主動貢獻了超過 400 個標準和 100 個技術報告,其中大約三分之二以上被定為國際標準,在國際上得到了廣泛使用。
關於 JavaScript
JavaScript 在 1995 年由 Netscape (網景)公司的Brendan Eich(布蘭登·艾奇),在網景導航者瀏覽器上首次設計實現而成,最初將其指令碼語言命名為 LiveScript。
因為Netscape 與 Sun(昇陽)合作,為了營銷考慮,Netscape 與 Sun 微系統達成協議,希望它外觀看起來像 Java(畢竟當時 Java 屬於當紅炸子雞),因此取名為 JavaScript,但實際上它的語法風格與 Self 及 Scheme 較為接近。
JavaScript 發展之初,微軟也推出了 JScript(主要用於 IE 瀏覽器)來迎戰 JavaScript,當時還有 Adobe 的 ActionScript。為了統一標準,實現互用,1997年,在 Ecma國際 的協調下,由 Netscape、Sun、微軟、Borland 組成的工作組確定統一標準——ECMA-262(ISO/IEC 16262),該標準定義了叫做ECMAScript 的全新指令碼語言。
完整的 JavaScript 實現包含三個部分:
- ECMAScript
- 文件物件模型(DOM)
- 瀏覽器物件模型(BOM)
關於 ECMAScript
ECMAScript 是一種由 Ecma國際
在 1997 年通過 ECMA-262(ISO/IEC 16262)
標準化的指令碼程式設計語言。它描述了 JavaScript的語法和基本物件,是 JavaScript 的標準。
ECMAScript 實際上是一種指令碼在語法和語義上的標準,JavaScript,JScript 和 ActionScript 中宣告變數,運算元組等語法完全一樣,因為它們都是 ECMAScript。但是在操作瀏覽器物件等方面又有各自獨特的方法,這些都是各自語言的擴充套件。
自 2015 年以來,ECMAScript 的發展及其版本如下所示:
通過這圖,大家應該知道平常所說的 ES6 之類的是怎麼來的了吧。
我們一般將 2015 年之前的版本統稱為 ES5,不會詳細去區分到底是 1~5 中的哪個。
符合ECMA-262 標準的實現有:
- Microsoft 公司的 JScript。
- Mozilla 的 JavaScript-C(C 語言實現),現名 SpiderMonkey。
- Mozilla 的 Rhino(Java 實現)。
- Digital Mars 公司的 DMDScript。
- Google 公司的 V8。
- WebKit。
總結
總結一下上面的內容:
- JavaScript 最初是由網景公司的布蘭登·艾奇所實現。
- JavaScript 是甲骨文公司的註冊商標。Ecma國際以 JavaScript 為基礎制定了 ECMAScript 標準。
- Ecma國際專門制定資訊和通訊系統的標準和報告,ECMAScript 只是它所制定標準中的一個。
- ESCMScript 是 JavaScript 的標準,描述了 JavaScript 的語法和基本物件。
- 完整的 JavaScript 實現包含三個部分:ECMAScript、DOM 和 BOM。
~
~本文完,感謝閱讀!
~
學習有趣的知識,結識有趣的朋友,塑造有趣的靈魂!
大家好,我是〖程式設計三昧〗的作者 隱逸王,我的公眾號是『程式設計三昧』,歡迎關注,希望大家多多指教!
你來,懷揣期望,我有墨香相迎! 你歸,無論得失,唯以餘韻相贈!
知識與技能並重,內力和外功兼修,理論和實踐兩手都要抓、兩手都要硬!