ES2020 中 Nullish Coalescing 操作符的使用方法

在 JavaScript 的开发中,我们经常需要处理变量的空值问题。以往我们使用的方法是利用逻辑运算符 || 和条件表达式 ? : 来判断变量是否为空,但这些方法会存在一些意料之外的问题。为了解决这个问题,ES2020 引入了 Nullish Coalescing 操作符 ??。

本文将讲解 Nullish Coalescing 操作符的使用方法以及相关注意事项。

Nullish Coalescing 操作符

Nullish Coalescing 操作符 ?? 可以将一个空值(null 或 undefined)转化为一个默认值。它的语法是:

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

如果 variable 不为 null 或 undefined,则返回 variable;否则会返回 defaultValue。

示例

让我们看下一个例子:

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

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

在这个例子中,变量 foo 的值为 null,所以使用 Nullish Coalescing 操作符得到的结果是 bar。

现在让我们来看一个不使用 Nullish Coalescing 操作符的例子,只使用逻辑运算符 ||。

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

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

在这个例子中,变量 foo 的值为 0。如果我们使用逻辑运算符 ||,那么它会被视为一个“假”值,因此变量 bar 会被赋值。然而,这可能不是我们想要的结果。

注意事项

当使用 Nullish Coalescing 操作符时,需要注意一些细节:

  1. 只有 null 或 undefined 才会被视为一个空值,其他值(比如 0、false 和 '')都会被视为有效值。
  2. 与逻辑运算符 || 不同,Nullish Coalescing 操作符仅仅返回变量本身或默认值,而不是将其转化为布尔值。

结论

Nullish Coalescing 操作符是一个很方便的操作符,可以帮助我们轻松处理变量的空值问题。但需要记住,在某些情况下,使用逻辑运算符 || 仍然是更好的选择。

希望这篇文章可以帮助大家更好地理解 Nullish Coalescing 操作符,并在开发实践中使用它。

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