ES Next

本页面涵盖了 ECMAScript (也称为 ES) 下一个版本的全部标准化特性。

ES2022

ES2021

  • String.prototype.replaceAll() – 将与模式匹配的子字符串的所有出现次数替换为新的子字符串。
  • 逻辑赋值运算符 – 向您介绍逻辑赋值运算符,包括 ||=&&=??=
  • 数字分隔符 – 向您展示如何通过使用下划线作为数字分隔符来提高数字的可读性。
  • Promise.any() – 了解如何使用 JavaScript Promise.any() 方法返回第一个完成的 Promise

ES2020

  • 空值合并运算符 (??) – 接受两个操作数,如果左操作数为 nullundefined,则返回右操作数。
  • 可选链运算符 (?.) – 简化访问位于连接对象链深处的属性的方式,而无需检查链中的每个引用是否为 nullundefined
  • Promise.allSettled() – 接受一个 Promise 列表,并返回一个新的 Promise,该 Promise 解析为一个值数组,这些值是由输入 Promise 解决(已解决或拒绝)的。
  • 动态导入 – 向您展示如何通过类似函数的对象 import() 动态导入模块。
  • BigInt – 向您介绍一种新的原始类型,它可以表示大于 253 – 1 的整数,这是 Javascript 可以使用 Number 类型可靠地表示的最大数字。
  • globalThis – 提供了一种标准方式来访问跨环境的全局对象。

ES2019

ES2018

ES2017

  • 填充字符串 – 向您展示如何使用一对方法:padStart()padEnd(),它们允许您用另一个字符串填充字符串到特定长度。
  • Object.values() – 将对象的自身可枚举属性的值作为数组返回。
  • Object.entries() – 返回对象的自身可枚举字符串键属性的 [key, value] 对。
  • JavaScript async / await – 使用更清晰的语法编写异步代码。

ES2016

  • 指数运算符 – 向您介绍指数运算符 (**) ,它允许您计算以指数为幂的底数,这类似于 Math.pow() 方法。
  • 数组 includes() – 允许您检查数组中是否存在元素。

ES 版本

下表描述了 ECMAScript 的版本和官方名称。

版本官方名称发布日期
ES12ES20212020 年 6 月
ES11ES20202020 年 6 月
ES10ES20192019 年夏季
ES9ES20182018 年 6 月
ES8ES20172017 年 6 月
ES7ES20162016 年 6 月
ES6ES20152015 年 6 月
ES5.1ES5.12011 年 6 月
ES5ES52009 年 12 月
ES4ES4已放弃
ES3ES31999 年 12 月
ES2ES21998 年 6 月
ES1ES11997 年 6 月