JavaScript 新特性:ES10 关键字 optional chaining 以及 Nullish Coalescing Operator

近年来,JavaScript 的更新速度非常惊人。随着 ES10 的发布,新特性继续出现,JavaScript 的 capabilities 所提供的功能也变得越来越强大。Optional chaining 和 Nullish Coalescing Operator 是 ES10 中最受欢迎的特性之一。这两个新关键字解决了常见的 JavaScript 编程问题,可以使代码更简单、更易于阅读。在本文中,我们将详细介绍 ES10 中的这两个关键字,并提供一些示例代码。

Optional chaining

在 JavaScript 中,当我们访问一个对象的属性时,如果该对象不存在该属性,则会抛出一个类型错误。这是很令人烦恼的,因为每次都需要手动检查该对象是否存在该属性。ES10 引入了一个新的关键字 "Optional chaining",可以解决这一问题。

Optional chaining 使用问号 "?" 来访问嵌套对象属性,如果一个对象不存在该属性,则会返回 undefined。下面是一个示例:

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

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

在上面的代码中,我们使用 Optional chaining 向嵌套的对象属性 "country" 进行访问。如果该对象存在 "address" 属性,但不存在 "country" 属性,则会返回 undefined。这样,我们可以避免手动检查对象是否存在该属性的繁琐工作。

Nullish Coalescing Operator

在 JavaScript 中,使用 || 运算符来设置默认值是很常见的。但是,在某些情况下,这种方法并不适用,例如当变量的值为 0 或空字符串时。此时,|| 运算符将返回错误的值。ES10 引入了一个新的关键字 "Nullish Coalescing Operator",可以解决这一问题。

Nullish Coalescing Operator 使用双问号 "?? "来设置默认值。如果变量的值是 undefined 或 null,则返回默认值。如果变量的值是 0 或空字符串,则返回原始值。下面是一个示例:

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

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

在上面的代码中,我们使用 Nullish Coalescing Operator 设置变量的默认值为 'N/A'。如果 user.age 的值为 undefined 或 null,则返回 'N/A'。如果使用 || 运算符,当值为 0 时也会返回 'N/A'。

结论

ES10 中的 Optional chaining 和 Nullish Coalescing Operator 使我们能够更加简单、安全、干净地编写 JavaScript 代码。使用这些关键字,我们可以避免手动检查对象属性的存在,也可以正确地设置默认值。这些新特性可以提高我们的代码质量,并使我们的代码更易于维护和阅读。

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