&& 和 || 也叫短路运算符
&&:只要碰到了假值(false),就会短路,并返回该假值, 只要短路,不会继续执行后面的表达式
||:只要碰到了真值(true),就会短路,并返回该真值, 只要短路,不会继续执行后面的表达式
console.log(2 && 4) // 4
console.log(2 || 4) // 2
console.log('abc' && null) // null
console.log(null && 'abc') // null
console.log(null && undefined) // null
console.log(undefined && null) // undefined
console.log(true || false) // true
console.log(NaN || 1) // 1
console.log('abc' || 123) // abc
console.log(0 || '') // ''
经常遇到的写法
function fnc(obj){
let a = obj.id || 'undefined';
return a;
}
console.log( fnc({id: 1}) ) // 1
console.log( fnc({name: '小明'}) ) // undefined
let obj = {
fnc(){
console.log('hello world')
}
}
obj.fnc && obj.fnc()
网友评论