JavaScript中的 ?? 操作符

JavaScript 中的 ?? 是一个新的操作符,,意为“空值合并运算符”。
它的作用是当左侧表达式为 nullundefined 时,返回右侧表达式的结果。如果左侧表达式的值不为 nullundefined,则返回左侧表达式的值。

具体来说,?? 的语法格式如下:

result = expr1 ?? expr2

其中,expr1expr2 是两个表达式,如果 expr1 的值为 nullundefined,则返回 expr2 的结果,否则返回 expr1 的结果。

看如下案例

let a = null;
let b = undefined;
let c = 0;
let d = '';

console.log(a ?? 'default'); // 'default'
console.log(b ?? 'default'); // 'default'
console.log(c ?? 'default'); // 0
console.log(d ?? 'default'); // ''

需要注意的是,?? 运算符只会在左侧表达式为 nullundefined 时返回右侧表达式的结果,对于其他 False 值(如 false、0、‘’ 等),其会将其视为真值返回其本身的值。因此,使用 ?? 运算符时需要特别小心,以避免出现错误或意料之外的行为

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值