ECMAScript是一種由Ecma國際(前身為歐洲計算機製造商協會)在標準ECMA-262中定義的腳本語言規範。這種語言在萬維網上應用廣泛,它往往被稱為JavaScriptJScript,但實際上後兩者是ECMA-262標準的實現和擴展。

Quick Facts 編程範型, 設計者 ...
ECMAScript
編程範型多重編程範式基於原型編程函數程式語言指令式編程
設計者布蘭登·艾克Ecma國際
面市時間1997年,​27年前​(1997
當前版本
    編輯維基數據鏈接
    型態系統弱類型動態
    網站ecma-international.org 編輯維基數據鏈接
    主要實作產品
    SpiderMonkeyV8ActionScriptJScriptQtScriptInScript英語InScript (JavaScript engine)
    啟發語言
    SelfHyperTalk英語HyperTalkAWKCPerlPythonJavaScheme
    Close
    Quick Facts 副檔名, 網路媒體型式 ...
    ECMAScript
    副檔名
    .es
    網路媒體型式
    application/ecmascript
    開發者昇陽電腦公司
    Ecma國際
    首次發布1997年6月,​27年前​(1997-06
    最新版本
    第 13 版
    2022年6月,​2年前​(2022-06
    格式類型腳本語言
    網站ECMA-262ECMA-290
    ECMA-327ECMA-357
    ECMA-402
    Close

    歷史

    ECMAScript是由網景布蘭登·艾克開發的一種腳本語言的標準化規範;最初命名為Mocha,後來改名為LiveScript,最後重新命名為JavaScript[1]。1995年12月,昇陽與網景聯合發表了JavaScript[2]。1996年11月,網景公司將JavaScript提交給歐洲計算機製造商協會進行標準化。ECMA-262的第一個版本於1997年6月被Ecma組織採納。ECMAScript是由ECMA-262標準化的腳本語言的名稱。

    儘管JavaScript和JScript與ECMAScript相容,但包含超出ECMAScript的功能[3]

    版本

    More information 版本, 發表日期 ...
    版本 發表日期 與前版本的差異
    1 1997年6月 首版
    2 1998年6月 格式修正,以使得其形式與ISO/IEC16262國際標準一致
    3 1999年12月 強大的正則表達式,更好的詞法作用域鏈處理,新的控制指令,異常處理,錯誤定義更加明確,數據輸出的格式化及其它改變
    4 放棄 由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎;由ActionScript實現
    5 2009年12月 新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持JSON以及在物件屬性上更完整的反射[4][5][6][7][8]
    5.1 2011年6月 ECMAScript標5.1版形式上完全一致於國際標準ISO/IEC 16262:2011。
    6 2015年6月 ECMAScript 2015(ES2015),第 6 版,最早被稱作是 ECMAScript 6(ES6),添加了類和模塊的語法,其他特性包括迭代器,Python風格的生成器和生成器表達式,箭頭函數,二進制數據,靜態類型數組,集合(maps,sets 和 weak maps),promise,reflection 和 proxies。作為最早的 ECMAScript Harmony 版本,也被叫做ES6 Harmony。
    7 2016年6月 ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性[9]
    8 2017年6月 ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性[10]
    9 2018年6月 ECMAScript 2018 (ES2018),第 9 版,包含了異步循環,生成器,新的正則表達式特性和 rest/spread 語法。
    10 2019年6月 ECMAScript 2019 (ES2019),第 10 版
    11 2020年6月 ECMAScript 2020 (ES2020),第 11 版
    12 2021年6月 ECMAScript 2021 (ES2021),第 12 版
    13 2022年6月 ECMAScript 2022 (ES2022),第 13 版
    Close

    2004年6月Ecma組織發表了ECMA-357標準,它是ECMAScript的一個擴延,也被稱為E4X(ECMAScript for XML)。

    相容性

    許多應用程序支持ECMAScript,尤其是網頁瀏覽器。下列表格列出了目前版本的軟體與ECMAScript最新版本的相容性。

    More information 腳本引擎, 參考應用程式 ...
    腳本引擎 參考應用程式 相容性[11]
    ES5[12] ES6[13] ES7[14] 較新(2016+)[14][15]
    Chakra Microsoft Edge 18 100% 96% 100% 48%
    SpiderMonkey Firefox 94 100% 98% 100% 100%
    Chrome V8 Google Chrome 95、Opera 80、Microsoft Edge 95 100% 98% 100% 100%
    JavaScriptCore(Nitro) Safari 15 100% 99% 100% 90%
    Close

    該測試的內容託管在官方存儲庫 https://github.com/tc39/test262頁面存檔備份,存於網際網路檔案館) 中,也可以在 https://v8.github.io/test262/website/default.html頁面存檔備份,存於網際網路檔案館) 和 https://bakkot.github.io/test262-web-runner/頁面存檔備份,存於網際網路檔案館) 上訪問最新的Web瀏覽器測試套件工具。官方存儲庫還指向由社區維護的其他項目測試套件,以測試其他例如 Node.js 的 ECMAScript / JavaScript 環境。

    參考文獻

    外部連結

    Wikiwand in your browser!

    Seamless Wikipedia browsing. On steroids.

    Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

    Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.