ES11:了解 Nullish Coalescing 运算符及其应用

在 JavaScript 中,我们经常需要对变量或表达式进行判断,以确定它们是否为 null 或 undefined。为了简化这个过程,ES11 引入了 Nullish Coalescing 运算符(??),它可以帮助我们更方便地处理这种情况。

Nullish Coalescing 运算符的基本用法

Nullish Coalescing 运算符的基本语法如下:

- -- -

它的含义是,如果 a 的值为 null 或 undefined,则返回 b 的值,否则返回 a 的值。

举个例子:

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

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

在上面的代码中,a 的值为 null,因此 c 的值为 b 的值,即 42。

相比于传统的判断方式,Nullish Coalescing 运算符可以让代码更加简洁和易读。

Nullish Coalescing 运算符的高级用法

除了基本用法之外,Nullish Coalescing 运算符还有一些高级用法,可以帮助我们更好地处理复杂的情况。

与逻辑运算符的结合使用

Nullish Coalescing 运算符可以与逻辑运算符(如 && 和 ||)结合使用,以实现更复杂的判断逻辑。

举个例子:

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

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

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

在上面的代码中,a 和 b 的值都为 null 或 undefined,因此返回 c 的值,即 0。由于 0 的值为 falsy,所以再次返回 d 的值,即 false。因此最终的结果为 0。

与函数的结合使用

Nullish Coalescing 运算符还可以与函数结合使用,以实现更灵活的函数调用。

举个例子:

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

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

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

在上面的代码中,getValue 函数接受一个参数 value,并使用 Nullish Coalescing 运算符返回它的值。如果 value 的值为 null 或 undefined,则调用 getDefaultValue 函数获取默认值 42。

总结

Nullish Coalescing 运算符是一种简洁、灵活、易读的判断方式,可以帮助我们更好地处理变量或表达式的 null 或 undefined 值。除了基本用法之外,它还可以与逻辑运算符和函数结合使用,以实现更复杂的判断逻辑和函数调用。在实际开发中,我们可以根据具体情况灵活使用 Nullish Coalescing 运算符,以提高代码的可读性和可维护性。

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