ES6/ES2015

  • Set
  • Map
  • Proxy
  • 模块化
  • Promise
  • 箭头函数
  • 解构赋值
  • 模板字符串
  • 展开操作符
  • let 与 const
  • 对象属性简写
  • 函数参数默认值

ES7/ES2016

  • 指数运算符(**)
  • Array.prototype.includes()

ES8/ES2017

  • async & await
  • Object.values()
  • Object.entries()
  • padStart() & padEnd()
  • 函数参数列表结尾允许逗号
  • Object.getOwnPropertyDescriptors()
  • ShareArrayBuffer & Atomics 共享内存读写

ES9/ES2018

  • 异步迭代
  • Promise.finally()
  • Rest & Spread 属性
  • 正则表达式 dotAll 模式
  • 正则表达式 Unicode 转义
  • 非转义序列的模板字符串
  • 正则表达式反向断言(lookbehind)
  • 正则表达式命名捕获组(Regular ExpressionNamed Capture Groups)

ES10/ES2019

  • 可选的 catch 参数
  • Object.fromEntries()
  • JSON.stringify() 优化
  • 私有的实例方法和访问器
  • Symbol.prototype.description
  • Array.flat() & Array.flatMap()
  • Array.Sort 中 QuickSort 换成 TimSort
  • String.trimStart() & String.trimEnd()
  • Function.toString() 会保留空格、换行、注释等

ES11/ES2020

  • BigInt
  • import()
  • globalThis
  • nullish: ??
  • for-in 顺序标准化
  • String.matchAll()
  • optional chaining: ?

ES12/ES2021

  • WeakRef
  • 数字分隔符
  • Promise.any()
  • ??=, &&=, ||=
  • AggregateError
  • String.replaceAll()
  • FinalizationRegistry
  • 优化 Array.prototype.sort

ES13/ES2022

  • top-level await
  • Object.hasOwn
  • public & private(#fieldname) 成员修饰符