ES11 的 Nullish 合并运算符如何处理 falsy 和 undefined 值

阅读时长 3 分钟读完

在 ES11 中,增加了 Nullish 合并运算符 ??,可以用于处理 null 或者 undefined 值的判断。在这篇文章中,我们将深入探索 Nullish 合并运算符并学习如何在代码中正确使用它。

Nullish 合并运算符是什么?

在学习 Nullish 合并运算符之前,先来了解一下什么是合并运算符。合并运算符是一种用于将两个值合并为一个值的运算符,常见的合并运算符有 +-*/。而 Nullish 合并运算符 ?? 是 ES11 中的一种新运算符,用于处理 null 或者 undefined 值的判断。它的语法如下所示:

上述语法表示,如果 a 的值为 null 或者 undefined,则返回 b 的值,否则返回 a 的值。

Nullish 合并运算符如何处理 falsy 值?

在 JavaScript 中,除了 nullundefined,还有一些其他的被视作假值(falsy)的值,包括 false0''NaNnull。在使用 Nullish 合并运算符处理这些值时,需要注意以下几点:

  1. 如果 a 的值为 false0'' 或者 NaN,则不是 null 或者 undefined,所以 Nullish 合并运算符将会返回 a 的值。
  2. 如果 a 的值为 null 或者 undefined,则 Nullish 合并运算符将会返回 b 的值。
  3. 如果 a 的值为其他非假值,Nullish 合并运算符将会返回 a 的值。

可以通过以下示例代码来了解 Nullish 合并运算符如何处理 falsy 值:

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

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

Nullish 合并运算符如何处理 undefined 值?

除了 falsy 值,Nullish 合并运算符还能处理 undefined 值。在 JavaScript 中,undefined 是未定义的值,通常表示变量已声明但没有赋值。同样可以通过以下示例代码来了解 Nullish 合并运算符如何处理 undefined 值:

上述代码中,变量 a 没有赋值,而变量 b 的值为 null。在使用 Nullish 合并运算符时,a 的值为 undefined,所以返回 123。而变量 b 的值为 null,所以返回 null

总结

在本文中,我们深入探索了 Nullish 合并运算符 ?? 能够处理 nullundefined 值的原理,并通过示例代码演示了 Nullish 合并运算符如何处理 falsy 和 undefined 值。在实际开发中,正确使用 Nullish 合并运算符可以简化代码逻辑,避免出现一些不必要的判断语句,提高代码的可读性和可维护性。

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

纠错
反馈