ES9 中新增了哪些内容?

阅读时长 4 分钟读完

ES9 中新增了哪些内容?

ECMAScript 2018(或 ES9)是 JavaScript 的最新版本,于 2018 年发布,它包含了一些新的特性和改进。本文将详细介绍其中的一些新增内容,包括异步迭代器、正则表达式命名捕获组、Rest/Spread 属性、Promise.prototype.finally() 和一些语言改进。

  1. 异步迭代器

ES7 引入了可迭代协议和迭代器协议,更好地支持 for-of 循环和解构语法。ES8 引入了异步迭代器,使得开发者可以通过异步生成器异步迭代数据集合。

异步迭代器最大的优点是可以在处理异步数据时支持同步代码风格。比如我们可以遍历异步生成的 Promise 数组。

-- -------------------- ---- -------
----- -------- ------------------- --------- -
  --- ----- ---- ---- -- ------ -
    ----- ---------------
  -
-

----- ---- - -
  -----------------------------
  -----------------------------
  -----------------------------
--

------------------ ----- ----- -- -
  ----- -------- - ----- -----------
  ----- ---- - ----- ----------------
  ------------------
---
  1. 正则表达式命名捕获组

在 ES5 中,我们只能根据索引值来获取捕获组匹配的结果。在 ES9 中,我们可以通过命名捕获组来更好地展现匹配结果。

例如,我们可以通过命名捕获组来获取日期字符串中的年份。

  1. Rest/Spread 属性

在 ES6 中,我们已经引入了对数组和对象的解构和展开操作符。在 ES9 中,我们引入了 Rest/Spread 属性,可以用于函数的参数和对象的属性定义。

-- -------------------- ---- -------
-- -----
-------- ------------- --------- -
  ------------------ ----------
  ------------------- -----------
-

---------------- -------- --------- ----------

-- -------
----- ------ - - ----- -------- ---- -- --
----- ------ - - ---------- -------- ---- --
-------------------- -- - ----- -------- ---- --- -------- ---- -
  1. Promise.prototype.finally()

在 ES6 中,我们引入了 Promise 对象来更好地处理异步代码。在 ES9 中,我们引入了 Promise.prototype.finally() 方法,无论 Promise 状态如何,都会执行 finally() 方法中的代码。

  1. 语言改进

除了上述新增特性,ES9 还对一些语言细节进行了改进。

例如,函数参数中可以使用 Trailing Commas。这意味着我们可以在参数列表的末尾使用逗号,从而使后续编辑该参数更方便。

另外,Object.assign() 方法现在支持将对象转换为数组(Array-like Objects)。

结论

ES9 中增加了许多新的特性和改进,包括异步迭代器、正则表达式命名捕获组、Rest/Spread 属性、Promise.prototype.finally() 和一些语言改进。这些新增特性和改进可以让我们编写更加简洁和可读性更高的代码,从而提高代码效率和可维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6706232dd91dce0dc858d3a3

纠错
反馈