JavaScript空值合并运算符

本文介绍了JavaScript的空值合并运算符(??),当左侧操作数为null或undefined时,返回右侧操作数。它与逻辑或操作符(||)不同,只在左侧操作数未定义时才返回右侧。此外,还讨论了运算符的优先级,它低于&&但高于||,并给出了使用示例和注意事项。
摘要由CSDN通过智能技术生成

空值合并操作符(??

它是一个逻辑操作符,当左侧的操作数为null或者undefined时,返回其右侧操作数,否则返回左侧操作数。

逻辑或操作符(||)不同,逻辑或操作符会在左侧操作数为假值时返回右侧操作数。

我们将值既不是 null 也不是 undefined 的表达式称为“已定义的(defined)”。

a ?? b 的结果是:

  • 如果 a 是已定义的,则结果为 a
  • 如果 a 不是已定义的,则结果为 b。 

若重写result = a ?? b,就变成:

result = (a !== null && a !== undefined) ? a : b;

一些例子能帮助你更好的理解(??)

null      ?? 'Hi'       // 'Hi'
undefined ?? 'Hey'      // 'Hey'
false     ?? 'Hola'     // false
0         ?? 'bonjour'  // 0
'first'   ?? &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值