&& 短路逻辑
A && B && C && D // 取第一个假值或 D,并不会取 true / false
A && B // 等价于
if(A){
B
}else{}
一般用法:
A && B
fn && fn()
举例:
console && console.log && console.log('hello')
|| 短路逻辑
A || B || C || D // 取第一个真值或 D,并不会取 true / false
A || B // 等价于
if(!A){
B
}else{}
一般用法:
A || B
A = A || B
举例:
a = a || 100 // 等价于
if(a){
a = a
}else{
a = 100 //保底值
}
注意:五个falsy值都会令a为假
function add(n){ n = n || 0 // n为''时,n为false return n+1 } add('') // 结果为1可以使用新语法
function add(n=0){ //如果n为null或undefined时,n=0 return n+1 } add('') // 结果为'1'