js逻辑操作符 | | 与 ? ?

1. 逻辑或 ( || )

这个运算符很是常用,用于兼容一些意想不到的错误问题

示例如下:

1.1 示例1: 用于兼容错误状态

let obj = {
    a: 1,
    b: 0,
    c: '',
    d: null,
    e: undefined
}
console.log( obj.a || 'default value'); // 1
console.log( obj.b || 'default value'); // 'default value'
console.log( obj.c || 'default value'); // 'default value'
console.log( obj.d || 'default value'); // 'default value'
console.log( obj.e || 'default value'); // 'default value'

// or

let obj2 = {
	age: 18
}
let name = obj2.name || 'init name';
console.log(name); // init name

1.2 示例2: 用于添件判断

if( true || false){
    console.log('log')
}


// or

let func = () => {
	console.log('log')
}
let bool = true;

bool && func()

2. 空值合并运算符 ( ?? )

空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

使用示例:

let a = '', b = 0, c = null, d = undefined;
let res1 = a ?? '都不匹配';
let res2 = b ?? '都不匹配';
let res3 = c ?? '都不匹配';
let res4 = d ?? '都不匹配';
console.log(a) // 0
console.log(b) // ''
console.log(c) // '都不匹配'
console.log(d) // '都不匹配'

3.总结

由上述示例可知

如果需要把' '0也算为假的状态,可使用 ||;
如果仅需要把nullundefined算为假的状态,可使用 ??;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值