ES12 版 Nullish Coalescing Operator 与短路运算符的异同

在 JavaScript 的开发中,我们常常需要判断变量是否为 null 或者 undefined,然后采取不同的操作。在 ES12 中,Nullish Coalescing Operator(空值合并运算符)被引入,可以方便地处理这种情况。本文将介绍 Nullish Coalescing Operator 与短路运算符的异同,以及如何使用它们来提高前端开发效率。

短路运算符

在 JavaScript 中,我们可以使用短路运算符来判断变量是否为 null 或者 undefined,然后采取不同的操作。短路运算符有两个,分别是 && 和 ||。

&& 运算符

&& 运算符用于判断两个操作数是否均为 true,如果第一个操作数为 false,则直接返回 false,否则返回第二个操作数。

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

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

|| 运算符

|| 运算符用于判断两个操作数是否至少有一个为 true,如果第一个操作数为 true,则直接返回 true,否则返回第二个操作数。

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

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

Nullish Coalescing Operator

Nullish Coalescing Operator(空值合并运算符)是一个新的运算符,用于判断变量是否为 null 或者 undefined,如果是,则返回默认值。

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

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

Nullish Coalescing Operator 与短路运算符的异同

Nullish Coalescing Operator 与短路运算符的使用场景是不同的。短路运算符可以用于任何类型的操作数,而 Nullish Coalescing Operator 只能用于判断变量是否为 null 或者 undefined。

另外,短路运算符在判断变量是否为 false 的时候,会将 0 和 '' 等值也视为 false,而 Nullish Coalescing Operator 只会在变量为 null 或者 undefined 的时候返回默认值。

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

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

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

总结

Nullish Coalescing Operator 是一个非常实用的运算符,可以方便地处理变量为 null 或者 undefined 的情况,提高了前端开发效率。但是需要注意的是,它只能用于判断变量是否为 null 或者 undefined,而短路运算符则可以用于任何类型的操作数。在使用时需要根据实际情况选择合适的运算符。

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