JavaScript 的版本有哪些?怎么查看和管理当前版本?
约 5 分钟读完
39 阅
文章导读
上一个
测验
下一个
JavaScript 由 Brendan Eich 于 1995 年开发。它于 1997 年由欧洲计算机制造商协会 (ECMA) 标准化,正式名称为 ECMAScript。该语言的第一个版本称为 ECMAScript 1(简称 ES1)。前三个版本(E
JavaScript - 版本
JavaScript 由 Brendan Eich 于 1995 年开发。它于 1997 年由欧洲计算机制造商协会 (ECMA) 标准化,正式名称为 ECMAScript。该语言的第一个版本称为 ECMAScript 1(简称 ES1)。前三个版本(ES1、ES2 和 ES3)奠定了该语言的基础。第四个版本 ES4 被放弃了。ES5(2009)进行了第一次主要修订。第二个主要修订版本是 ES6(ECMAScript 2015)。2015 年之后,版本按发布年份命名。
JavaScript 的最新版本是 ECMAScript 2023。
JavaScript 版本
下表中,我们列出了每个版本的详细信息。
| 版本 |
正式名称 |
发布年份 |
新增特性 |
| ES1 |
ECMAScript 1 |
1997 |
首次发布 |
| ES2 |
ECMAScript 2 |
1998 |
细微变更 |
| ES3 |
ECMAScript 3 |
1999 |
- 添加了 regular expressions
- 添加了 do-while
- 添加了 switch
- 添加了 try/catch
|
| ES4 |
ECMAScript 4 |
从未发布。 |
|
| ES5 |
ECMAScript 5 |
2009 |
- JavaScript strict mode
- 多行字符串
- String.trim()
- Array methods
- Object methods
- Getters and setters
- 尾随逗号
|
| ES6 |
ECMAScript 2015 |
2015 |
- let 和 const 语句
- Map 和 set objects
- Arrow functions
- For/of loop
- 部分 array methods
- Symbol
- Classes
- Promises
- JavaScript Modules
- 新的 Number methods 和 properties
- For/of loop
- Spread operator
|
| ES7 |
ECMAScript 2016 |
2016 |
- 指数 (**) operator
- Array.includes() method
|
| ES8 |
ECMAScript 2017 |
2017 |
- 添加了 Async/await
- 添加了 Object.entries() method
- 添加了 Object.values() method
- 添加了 Object.getOwnPropertyDescriptor() method
- 添加了 string padding
|
| ES9 |
ECMAScript 2018 |
2018 |
- Rest object properties
- JavaScript shared memory
- Promise.finally() method
- RegExp() object 的新特性
|
| ES10 |
ECMAScript 2019 |
2019 |
- String trim.start()
- String trim.end()
- Array.flat()
- 修订的 Array.sort()
- 修订的 JSON.stringify() / toString()
- Object.fromEntries() method
|
| ES11 |
ECMAScript 2020 |
2020 |
- Nullish Coalescing Operator (??)
- BigInt primitive data type
|
| ES12 |
ECMAScript 2021 |
2021 |
- String.replaceAll() method
- Promise.Any() method
|
| ES13 |
ECMAScript 2022 |
2022 |
- class 中的 static block
- 新的 class 特性
- Top-level await
|
| ES14 |
ECMAScript 2023 |
2023 |
- Array findLast() & findLastIndex()
- Hashbang Grammer
- Symbols as WeakMap keys
|
自 2016 年起,按发布年份命名的早期更新版本开始发布。2023 年 6 月的更新发布称为 ECMAScript 2023。
浏览器支持
所有现代浏览器完全支持 ES1 到 ES6。对于其他版本,您可以使用 Polyfill 并编写额外代码。
| Chrome |
Firefox |
Microsoft Edge |
Opera |
Safari |
Firefox Android |
| Yes |
Yes |
Yes |
Yes |
Yes |
Yes |