了解 JavaScript 可选链操作符和空值合并操作符

阅读时长 3 分钟读完

在调用 JavaScript 对象或数组属性或方法时,我们通常会遇到可能不存在的值的情况。这可能会导致 TypeError 错误,为了避免这种错误,我们需要对值进行检查。为此,ECMAScript 2020 引入了可选链操作符和空值合并操作符。本文将详细介绍这两个新操作符的用法和实际应用。

可选链操作符

可选链操作符 ?. 用于在调用对象上可能不存在的属性或方法时,避免出现 TypeError 错误。使用可选链操作符时,如果对象上的属性或方法存在,则调用成功并返回值;否则返回 undefined。

示例代码:

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

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

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

上述示例中,使用可选链操作符可以避免当 person 对象中不存在 phone 属性时,出现 TypeError 错误。

空值合并操作符

空值合并操作符 ?? 用于在变量值为 null 或 undefined 时,提供一个默认值。如果变量有值,则返回该值;否则返回指定的默认值。

示例代码:

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

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

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

上述示例中,使用空值合并操作符可以在值为 null 或 undefined 时,提供一个默认值。

可选链操作符和空值合并操作符的组合使用

可选链操作符和空值合并操作符可以组合使用,提供更为灵活的值检查。

示例代码:

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

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

上述示例中,使用可选链操作符和空值合并操作符可以在值为 null 或 undefined 时,提供一个默认值,并避免出现 TypeError 错误。

总结

可选链操作符和空值合并操作符可以提高代码的健壮性和可读性,避免常见的错误。它们的组合使用可以提供更为灵活的值检查。在实际应用中,我们可以多加利用这两个操作符,提高代码质量和开发效率。

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

纠错
反馈