ECMAScript 是一种由 ECMA 国际(European Computer Manufacturers Association)标准化的脚本语言规范。它是 JavaScript 的基础,定义了这门语言的核心语法、类型、对象模型和基本功能。ECMAScript 的标准化版本由 TC39 委员会负责维护和更新。
ECMA-262, 15th edition, June 2024
https://262.ecma-international.org/
版本历史 (ES6 及以后)
ECMAScript 2015 (ES6)
2015 年发布,引入了大量新特性,如箭头函数、类、模块、Promise、let 和 const 等。
ECMAScript 2016 (ES7)
2016 年发布,引入了 Array.prototype.includes 和指数操作符 **。
ECMAScript 2017 (ES8)
2017 年发布,引入了 async/await、Object.entries、Object.values 等。
ECMAScript 2018 (ES9)
2018 年发布,引入了异步迭代器、Rest/Spread 属性等。
ECMAScript 2019 (ES10)
2019 年发布,引入了 Array.prototype.flat、Array.prototype.flatMap、Object.fromEntries 等。
ECMAScript 2020 (ES11)
2020 年发布,引入了可选链操作符 ?.、空值合并操作符 ?? 等。
ECMAScript 2021 (ES12)
2021 年发布,引入了逻辑赋值操作符、字符串的 replaceAll 方法等。
ECMAScript 2022 (ES13)
- 引入了顶层 await,允许关键词 在模块的顶层使用
- 类的私有字段
- Object.hasOwn
ECMAScript 2023 (ES14)
- Object.groupBy
- Array.toSliced(), Array.toSorted(), 和 Array.toReversed()
- findLast() 和 findLastIndex()
ECMAScript 2024 (ES15)
- Map.groupBy()
- Promise.withResolvers()
- 正则表达式标志
/v - String.prototype.isWellFormed
- String.prototype.toWellFormed
- Atomics.waitAsync()
ECMAScript 2025 (ES16)
https://tc39.es/ecma262/multipage/
版本历史 (ES6 之前)
ECMAScript 1 (ES1)
1997 年发布,定义了最初的标准。
ECMAScript 2 (ES2)
1998 年发布,主要是对 ES1 的修订。
ECMAScript 3 (ES3)
1999 年发布,引入了正则表达式、try/catch 异常处理等特性。
ECMAScript 4 没有发布
ECMAScript 5 (ES5)
2009 年发布,引入了严格模式、JSON 支持、Array 方法等。
ECMAScript 5.1
2011 年发布。