ES11 中可选链操作符与 Nullish Coalescing 操作符的使用案例

阅读时长 4 分钟读完

ES11 中可选链操作符与 Nullish Coalescing 操作符的使用案例

在开发 web 应用程序时,前端工程师经常会遇到需要处理传递到界面的数据,其中可能会包含许多层级的嵌套对象或数组,我们通常会使用条件语句来检查它们是否存在,然后访问它们的属性或元素。在 ES11 之前,JavaScript 并没有提供一种简单的方法来处理嵌套对象或数组(或其他深层次结构),这使得代码难以阅读、理解和维护。

ES11 引入了两个新的操作符:可选链操作符和 Nullish Coalescing 操作符,它们可以帮助 JavaScript 开发者优雅地处理这类问题。

可选链操作符

可选链操作符(?.)是一个新的操作符,可以在检查属性和方法是否存在的同时,访问它们。如果对象或属性不存在,则返回 undefined,而不是抛出 TypeError 异常。这意味着开发人员不再需要几行代码来检查对象是否存在,从而使代码更简洁、可读性更高。

示例:

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

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

在上面的示例中,使用可选链操作符,我们可以优雅地访问 person 对象的 address 属性及其内部的 city 和 zipcode 属性。即使有一个属性不存在,代码也会正常运行,而不会抛出异常。

Nullish Coalescing 操作符

Nullish Coalescing 操作符(??)是另一个新的操作符,可以在检查一个值是否为 null 或 undefined 时,提供一个默认值。如果左侧表达式的值为 null 或者 undefined,则返回右侧表达式,否则返回左侧表达式的值。与 || 操作符不同,Nullish Coalescing 操作符不会将 false、0、NaN 或者空字符串视为 null 或 undefined。

示例:

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

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

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

在上述示例中,我们可以看到,使用 Nullish Coalescing 操作符,可以方便地提供默认值,而不需要写复杂的条件语句。

使用案例分析

以下是一个实际的使用案例,使用可选链操作符和 Nullish Coalescing 操作符来简化和优化代码。

假设我们的应用程序使用 API 从服务器获取数据,这些数据以 JSON 格式返回。在这个示例中,我们将从服务器获取一个对象,该对象包含有关用户身份验证状态的信息。我们使用 axios 库发起 API 请求并获取用户信息对象,然后使用可选链操作符访问对象的属性。在这个例子中,我们还使用 Nullish Coalescing 操作符来为缺失的属性提供默认值。

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

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

上面的代码使用可选链和 Nullish Coalescing 操作符访问嵌套对象的属性和元素,这可以使我们的代码更简洁、可读性更高。如果对象或属性不存在,则在不抛出异常的情况下提供默认值。

结论

ES11 引入了可选链操作符和 Nullish Coalescing 操作符,使 JavaScript 开发人员更容易处理嵌套对象、数组以及深层次结构。这些操作符使代码更清晰、更简洁,同时提高了可读性和可维护性。因此,了解如何使用这些操作符是前端开发人员的一个重要技能。

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

纠错
反馈