学无先后,达者为师

网站首页 前端文档 正文

js逻辑操作符 -- | | 与 ? ?

作者:Dark_programmer 更新时间: 2022-01-05 前端文档

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算为假的状态,可使用 ??;

原文链接:https://blog.csdn.net/Dark_programmer/article/details/122110810

栏目分类
最近更新