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
也算为假的状态,可使用||
;
如果仅需要把null
和undefined
算为假的状态,可使用??
;