历年 ESMAScript 标准清单。
ES6 (2015)
- 类、模块化、箭头函数、函数默认值、模板字符串、解构赋值、扩展运算符、对象属性简写、let、const
ES7 (2016)
Array.prototype.includes()
、指数操作符 (**
等价于 Math.pow())
ES8 (2017)
async
/await
、对象值的遍历、Object.entries()
、Object.values()
、字符串填充 (String.prototype.padStart()
和String.prototype.padEnd()
)
ES9 (2018)
- 异步迭代、Promise 的
finally()
方法、Rest/Spread 属性、正则表达式命名捕获组、后行断言
ES10 (2019)
Array.prototype.flat()
、Array.prototype.flatMap()
、String.prototype.trimStart()
、String.prototype.trimEnd()
、Object.fromEntries()
、Symbol.prototype.description
、可选链操作符 (?.
)、空值合并运算符 (??
)
ES11 (2020)
- 可选链操作符 (
?.
) 的链判断式、空值合并运算符 (??
) 的链式使用、String.prototype.matchAll()
、import.meta
、动态import()
函数
ES12 (2021)
- Promise 的
allSettled()
方法、String.prototype.replaceAll()
、数值分隔符、WeakRef 和 FinalizationRegistry、逻辑赋值运算符 (||=
、&&=
、??=
)
ES13 (2022)
Array.prototype.at()
、Object.prototype.hasOwn
、String.prototype.codePoints()