ES2020 (ES11) 来了, 没准备好就 get out

阅读时长 4 分钟读完

ES2020,也被称为ES11,是ECMAScript标准的最新版本。它于2020年6月被正式发布,带来了一系列新的特性和改进,这些特性和改进将使JavaScript编写更加方便和优雅。

新特性

可选的链式操作符(Optional chaining)

可选的链式操作符是一个新的语法,它使我们可以轻松地访问深层嵌套的属性。在这之前,我们必须使用复杂的条件语句来检查每个嵌套的属性是否存在。现在,我们可以使用可选的链式操作符来避免这种冗余代码。

示例:

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

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

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

上面的代码中,我们使用可选的链式操作符(?.)来访问嵌套对象属性。如果该属性不存在,代码将不会抛出异常,并返回undefined。

空值合并操作符(Nullish coalescing)

空值合并操作符是另一个新的语法,它用于将空值(null或undefined)替换为默认值。

示例:

上面的代码中,我们使用空值合并操作符(??)来检查变量name是否为空值。如果是,我们将使用默认值“John Doe”。

Promise.allSettled()方法

Promise.allSettled()方法返回一个 Promise 对象,该对象在所有 Promise 对象都已解析或被拒绝时分别解析一个对象数组,每个对象包含 Promise 结果。这与Promise.all()方法不同,Promise.all()在任何一个 Promise 被拒绝时就会被拒绝。

示例:

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

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

上面的代码中,我们使用Promise.allSettled()方法来处理多个Promise对象,即使一个Promise被拒绝,它也会等待其他Promise对象被解析或被拒绝,最终返回所有Promise对象的解析和拒绝结果。

如何开始学习ES2020

ES2020带来了很多新的特性和改进,旨在使JavaScript编写更加方便和优雅。要开始学习ES2020,我们建议您使用一个先进的编译器(如Babel),以便您可以在现有的JavaScript代码中使用新的特性。

以下是一个使用Babel编译器的示例代码:

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

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

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

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

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

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

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

总结

ES2020(ES11)引入了许多新的特性和改进。可选的链式操作符,空值合并操作符和Promise.allSettled()方法使JavaScript编写更加方便和优雅。如果您想学习ES2020,我们建议您使用先进的编译器,以便您可以在现有的JavaScript代码中使用新的特性。

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

纠错
反馈