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
  • 添加了正则表达式
  • 添加了 do-while 循环
  • 添加了 switch 语句
  • 添加了 try/catch 语句
ES4 ECMAScript 4 未发布。
ES5 ECMAScript 5 2009
  • JavaScript 严格模式
  • 多行字符串
  • String.trim()
  • 数组方法
  • 对象方法
  • Getter 和 Setter
  • 尾随逗号
ES6 ECMAScript 2015 2015
  • let 和 const 语句
  • Map 和 Set 对象
  • 箭头函数
  • for/of 循环
  • 一些数组方法
  • Symbol
  • Promise
  • JavaScript 模块
  • 新的 Number 方法和属性
  • for/of 循环
  • 展开运算符
ES7 ECMAScript 2016 2016
  • 指数 (**) 运算符
  • Array.includes() 方法
ES8 ECMAScript 2017 2017
  • 添加了 Async/await
  • 添加了 Object.entries() 方法
  • 添加了 Object.values() 方法
  • 添加了 Object.getOwnPropertyDescriptor() 方法
  • 添加了字符串填充
ES9 ECMAScript 2018 2018
  • rest 对象属性
  • JavaScript 共享内存
  • Promise.finally() 方法
  • RegExp() 对象的新特性
ES10 ECMAScript 2019 2019
  • String.trimStart()
  • String.trimEnd()
  • Array.flat()
  • 修改后的 Array.sort()
  • 修改后的 JSON.stringify() / toString()
  • Object.fromEntries() 方法
ES11 ECMAScript 2020 2020
  • 空值合并运算符 (??)
  • BigInt 原生数据类型
ES12 ECMAScript 2021 2021
  • String.replaceAll() 方法
  • Promise.any() 方法
ES13 ECMAScript 2022 2022
  • 类中的静态块
  • 新的类特性
  • 顶层 await
ES14 ECMAScript 2023 2023
  • Array.findLast() & findLastIndex()
  • Hashbang 语法
  • 作为 WeakMap 键的 Symbol

自 2016 年以来,早期更新以发布年份命名的版本发布。2023 年 6 月发布的更新称为 ECMAScript 2023。

浏览器支持

所有现代浏览器都完全支持 ES1 到 ES6。对于其他版本,您可以使用 Polyfill 并编写附加代码。

Chrome Firefox Microsoft Edge Opera Safari Firefox Android
广告