Skip to content

🌟 ECMAScript 重点更新(ES6 ~ ES2024)

ES6(2015)

  • let / const(块级作用域)
  • 箭头函数 () => {}
  • 模板字符串 `Hello ${name}`
  • 解构赋值 { a, b } = obj
  • 扩展运算符 ...arr
  • Promise
  • class 类与继承
  • import / export(模块化)
  • Map / Set
  • Symbol

✅ 关键词:现代 JS 的起点


ES7(2016)

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

✅ 关键词:小更新,数组判断更方便


ES8(2017)

  • async/await(异步写法革命)
  • Object.values() / Object.entries()
  • 字符串填充 padStart / padEnd

✅ 关键词:异步更丝滑


ES9(2018)

  • Promise.finally()
  • Object Rest / Spread{...obj}
  • 异步迭代器 for await...of

✅ 关键词:Promise 进化


ES10(2019)

  • Array.flat() / Array.flatMap()
  • Object.fromEntries()
  • String.trimStart() / trimEnd()
  • Optional Catch Bindingcatch (e) 可省略)

✅ 关键词:数据结构优化


ES11(2020)

  • Optional Chaining (?.)
  • Nullish Coalescing (??)
  • Promise.allSettled()
  • globalThis

✅ 关键词:更安全的访问链


ES12(2021)

  • String.replaceAll()
  • Promise.any()
  • WeakRef / FinalizationRegistry
  • 逻辑赋值运算符(||=, &&=, ??=

✅ 关键词:异步与内存优化


ES13(2022)

  • class 私有属性(#privateField
  • static block(静态初始化块)
  • Object.hasOwn(obj, key)
  • top-level await(模块顶层直接使用 await
  • Array.prototype.at()

✅ 关键词:类的私有化、模块更灵活


ES14(2023)

  • Array.findLast() / Array.findLastIndex()
  • Symbol.asyncDispose(异步清理)
  • RegExp v flag(正则增强)
  • hashbang#!/usr/bin/env node 支持)

✅ 关键词:底层细节加强


ES15(2024)

  • (提案阶段,核心内容大致定了)
  • Set methods: .union(), .intersection(), .difference()
  • Map.groupBy() / Array.groupBy()
  • Change Array by copy: toSorted(), toSpliced(), toReversed()
  • Symbol.dispose(同步清理)
  • Number.range()
  • Iterator helpers(如 map, filter on iterators)

✅ 关键词:集合操作,迭代器友好,纯函数式增强


🔥 小总结

年份关键词
2015(ES6)现代 JS 起点,模块、Promise
2017(ES8)async/await 革命
2020(ES11)可选链、空值合并
2022(ES13)私有类字段、模块顶层 await
2024(ES15)集合操作增强,函数式迭代器

Released under the MIT License.