ES2020 新特性探秘:Nullish 合并、可选链式调用

阅读时长 4 分钟读完

ES2020 是 ECMAScript 标准的最新版本,它包含了许多新特性,其中 Nullish 合并运算符和可选链式调用是最受欢迎的两个特性之一。本文将深入探讨这两个特性的使用方法和优势,并为读者提供学习和指导意义。

Nullish 合并

Nullish 合并运算符(??)是一种新的逻辑运算符,用于处理 null 或 undefined 值。在以前的版本中,我们通常使用 || 运算符来处理 null 或 undefined 值,但这种方法有时会导致错误的结果。

例如,如果我们想要获取一个对象的属性值,但该属性值可能为空或未定义,我们通常会使用以下代码:

但是,如果该属性值为 false、'' 或者 0,上述代码会将它们视为 null 或 undefined,从而返回默认值。这时候,我们就需要使用 Nullish 合并运算符来解决这个问题:

Nullish 合并运算符只在左侧的值为 null 或 undefined 时返回右侧的值。如果左侧的值为 false、'' 或 0,它仍然会返回左侧的值。

可选链式调用

可选链式调用是一种新的语法,用于简化访问嵌套对象和数组的属性和方法。在以前的版本中,我们通常需要使用繁琐的 if...else 语句来检查对象和数组是否存在,然后才能访问它们的属性和方法。

例如,如果我们想要获取一个嵌套对象的属性值,但该对象可能为空或未定义,我们通常会使用以下代码:

但是,这种方法非常繁琐且容易出错。现在,我们可以使用可选链式调用来简化代码:

如果 obj、obj.property 或 obj.property.nestedProperty 中的任何一个值为 null 或 undefined,上述代码将返回 undefined,而不会抛出错误。这使得代码更加简洁并且易于维护。

示例代码

以下是一些示例代码,演示了如何使用 Nullish 合并和可选链式调用:

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

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

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

总结

Nullish 合并运算符和可选链式调用是 ES2020 中最有用的特性之一。它们可以大大简化代码,并提高代码的可读性和可维护性。如果你正在开发 JavaScript 应用程序,那么这两个特性绝对值得学习和使用。

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

纠错
反馈