在 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