你应该知道的 6 个 ES9 功能:Object Rest 和 Spread、承诺.allSettled() 和更多

你应该知道的 6 个 ES9 功能:Object Rest 和 Spread、承诺.allSettled() 和更多

ES9 (ECMAScript 2018)是 JavaScript 的最新版本,它引入了一些新的功能和语法,以帮助开发人员更有效地编写代码。在本文中,我们将介绍 ES9 中的 6 个功能,包括 Object Rest 和 Spread、承诺.allSettled(),正则表达式命名捕获组和更多。

  1. Object Rest 和 Spread

Object Rest 和 Spread 是一个新的语法,在 ES9 中引入。它允许您轻松地从一个对象中获取一些属性,并将其余的属性放入一个新的对象中。例如:

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

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

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

在上面的代码中,我们使用 Object Rest 和 Spread 语法从 person 对象中获取 firstNamelastName 属性,并将其余的属性放入 rest 对象中。

  1. 承诺.allSettled()

Promise.allSettled() 是一个新的 Promise 方法,在 ES9 中引入。它接受一个 Promise 数组,并返回一个新的 Promise,该 Promise 将在所有 Promise 完成或拒绝后解决。与 Promise.all() 不同,Promise.allSettled() 不会在任何 Promise 拒绝时拒绝。例如:

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

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

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

在上面的代码中,我们使用 Promise.allSettled() 方法来等待所有 Promise 完成或拒绝。结果数组包含每个 Promise 的状态和结果或拒绝理由。

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

正则表达式命名捕获组是一个新的语法,在 ES9 中引入。它允许您使用命名捕获组来捕获匹配的子字符串。例如:

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

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

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

在上面的代码中,我们使用正则表达式命名捕获组来捕获 text 变量中的名称和电子邮件地址。

  1. Array.prototype.flat()

Array.prototype.flat() 是一个新的数组方法,在 ES9 中引入。它允许您将多维数组扁平化为单个数组。例如:

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

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

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

在上面的代码中,我们使用 Array.prototype.flat() 方法将 arr 数组扁平化为单个数组。

  1. String.prototype.trimStart() 和 String.prototype.trimEnd()

String.prototype.trimStart()String.prototype.trimEnd() 是两个新的字符串方法,在 ES9 中引入。它们允许您从字符串的开头或结尾删除空格。例如:

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

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

在上面的代码中,我们使用 String.prototype.trimStart()String.prototype.trimEnd() 方法从 text 字符串的开头和结尾删除空格。

  1. Async / Await

Async / Await 是一种新的异步编程语法,在 ES9 中引入。它允许您使用类似于同步代码的语法编写异步代码。例如:

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

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

在上面的代码中,我们使用 Async / Await 语法来异步获取数据并打印结果。

总结

在本文中,我们介绍了 ES9 中的 6 个新功能,包括 Object Rest 和 Spread、承诺.allSettled()、正则表达式命名捕获组、Array.prototype.flat()、String.prototype.trimStart() 和 String.prototype.trimEnd()、Async / Await。这些新功能可以帮助开发人员更有效地编写 JavaScript 代码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/662b643fd3423812e48f0878