JavaScript 版本
JavaScript 是 Brendan Eich 於 1995 年發明的,並於 1997 年成為 ECMA 標準。
ECMAScript 是該語言的官方名稱。
ECMAScript 版本被縮寫為 ES1、ES2、ES3、ES5 和 ES6。
自 2016 年以來,版本命名方式改為年份(ECMAScript 2016、2017、2018、2019、2020)。
ECMAScript 版本
版本 | 官方名稱 | 描述 |
---|---|---|
ES1 | ECMAScript 1 (1997) | 第一版 |
ES2 | ECMAScript 2 (1998) | 編輯性改動 |
ES3 | ECMAScript 3 (1999) | 添加了正則表示式 添加了 try/catch 添加了 switch 添加了 do-while |
ES4 | ECMAScript 4 | 從未釋出 |
ES5 | ECMAScript 5 (2009) 閱讀更多 |
添加了“嚴格模式” 添加了 JSON 支援 添加了 String.trim() 添加了 Array.isArray() 添加了陣列迭代方法 物件字面量允許尾隨逗號 |
ES6 | ECMAScript 2015 閱讀更多 |
添加了 let 和 const 添加了預設引數值 添加了 Array.find() 添加了 Array.findIndex() |
ECMAScript 2016 閱讀更多 |
添加了指數運算子 (**) 添加了 Array.includes() |
|
ECMAScript 2017 閱讀更多 | 添加了字串填充 添加了 Object.entries() 添加了 Object.values() 添加了 async 函式 添加了共享記憶體 函式引數允許尾隨逗號 |
|
ECMAScript 2018 閱讀更多 | 添加了 rest/spread 屬性 添加了非同步迭代 添加了 Promise.finally() 對 RegExp 的補充 |
|
ECMAScript 2019 閱讀更多 | String.trimStart() String.trimEnd() Array.flat() Object.fromEntries 可選的 catch 繫結 |
|
ECMAScript 2020 閱讀更多 | 空值合併運算子 (??) |
本教程涵蓋了所有 JavaScript 版本
- 原始 JavaScript ES1 ES2 ES3 (1997-1999)
- 第一次主要修訂 ES5 (2009)
- 第二次修訂 ES6 (2015)
- 年度更新 (2016, 2017, 2018, 2019, 2020)
瀏覽器支援
ECMAScript 1 - 6 在所有現代瀏覽器中都得到完全支援。
ES5 (2009) 的瀏覽器支援
瀏覽器 | 版本 | 起始日期 |
---|---|---|
Chrome | 23 | 2012 年 11 月 |
Firefox | 21 | 2013 年 5 月 |
IE | 9* | 2011 年 3 月 |
IE / Edge | 10 | 2012 年 9 月 |
Safari | 6 | 2012 年 7 月 |
Opera | 15 | 2013 年 7 月 |
* Internet Explorer 9 不支援 ECMAScript 5 的“use strict”。
ES6 (2015) 的瀏覽器支援
瀏覽器 | 版本 | Date |
---|---|---|
Chrome | 51 | 2016 年 5 月 |
Firefox | 52 | 2017 年 3 月 |
Edge | 14 | 2016 年 8 月 |
Safari | 10 | 2016 年 9 月 |
Opera | 38 | 2016 年 6 月 |
Internet Explorer 不支援 ECMAScript 2015。
ECMAScript 2016 的瀏覽器支援
瀏覽器 | 版本 | Date |
---|---|---|
Chrome | 52 | 2016 年 7 月 |
Firefox | 54 | 2017 年 6 月 |
Edge | 14 | 2016 年 8 月 |
Safari | 10.1 | 2017 年 3 月 |
Opera | 39 | 2016 年 8 月 |