Javascript 中的 Null 合并运算符?

阅读时长 4 分钟读完

在 Javascript 中,我们经常需要处理 null 或 undefined 值,这时候我们可以使用 Null 合并运算符(Null-coalescing operator)来简化代码。

什么是 Null 合并运算符?

Null 合并运算符的语法是 ??,它用于判断一个值是否为 null 或 undefined,如果是,则返回默认值。

上面的代码中,变量 value 的值为 undefined,因此使用了 Null 合并运算符返回了默认值 'default'

和 || 运算符的区别

在 Javascript 中还有一个逻辑或运算符 ||,它也可以用来处理 null 或 undefined 值。但是,和 Null 合并运算符相比,它存在一些区别。

首先,当使用 || 运算符时,只有在左侧的值为 falsy 值时才会返回右侧的值。而在使用 Null 合并运算符时,只有在左侧的值为 null 或 undefined 时才会返回右侧的值。

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

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

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

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

上面的代码中,变量 value1 的值为 '',因此使用了 || 运算符返回了默认值 'default'。而变量 value2value3 的值都为 null 或 undefined,因此也使用了 || 运算符返回了默认值 'default'。变量 value4 的值为 false,它虽然是 falsy 值,但不是 null 或 undefined,因此没有使用 Null 合并运算符。

其次,在使用 || 运算符时,如果左侧的值为 falsy 值,则会返回右侧的值,即使右侧的值也是 falsy 值。

上面的代码中,变量 value1 的值为 '',左侧为 falsy 值,因此返回了右侧的值 false。变量 value2 的值为 null,左侧为 falsy 值,因此返回了右侧的值 undefined

使用示例

Null 合并运算符可以用来处理函数参数的默认值。在下面的例子中,函数 getFullName 接受两个参数 firstNamelastName,如果其中一个参数为 null 或 undefined,则使用默认值。

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

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

在上面的代码中,使用了 Null 合并运算符来设置参数的默认值,避免了出现 null 或 undefined 值。

总结

Null 合并运算符是 Javascript 中处理 null 或 undefined 值的一种简便方法。与逻辑或运算符相比,它更加严格,并且可以用于设置函数参数的默认值等场景。同时,在使用 Null 合并运算符时,需要注意其和逻辑或运算符的区别。

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

纠错
反馈