javaScript 空值合并运算符 ?? 与 || 逻辑运算符的差异

const foo = null || 'default string';
const baz = null ?? 'default string';
console.log(foo, baz);
// "default string" "default string"

const foo2 = '' || 'default string 2';
const baz2 = '' ?? 'default string 2';
console.log(foo2, baz2);
// "default string 2" ""

const foo3 = 0 || 'default string 3';
const baz3 = 0 ?? 'default string 3';
console.log(foo3, baz3);
// "default string 3" 0

const foo4 = 1 || 'default string 4';
const baz4 = 1 ?? 'default string 4';
console.log(foo4, baz4);
// 1 1

const foo5 = true || 'default string 5';
const baz5 = true ?? 'default string 5';
console.log(foo5, baz5);
// true true

const foo6 = false || 'default string 6';
const baz6 = false ?? 'default string 6';
console.log(foo6, baz6);
// "default string 6" false

const foo7 = undefined || 'default string 7';
const baz7 = undefined ?? 'default string 7';
console.log(foo7, baz7);
// "default string 7" "default string 7"

const foo8 = {} || 'default string 8';
const baz8 = {} ?? 'default string 8';
console.log(foo8, baz8);
// Object {  } Object {  }

const foo9 = [] || 'default string 9';
const baz9 = [] ?? 'default string 9';
console.log(foo9, baz9);
// Array [] Array []

mozilla 文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值