&&
对前后两个值进行真值判断,代码执行顺序从左到右,两者全真则真,有一个为假则为假。
如:value1&&value2 先看value1
value1为真,则输出value2结果;
value1为假,则直接输出false 不看 value2;
value1为0、null、undefined,直接输出value1。
console.log(11 && 22) //22
console.log(false && 'abc') //false
console.log(0 && 0) //0
console.log(0 && 11) //0
console.log(undefined && 11) //undefined
console.log(null && 0) //null
||
对前后两个值进行真值判断,代码执行顺序从左到右,两者有一真则真,全假则假。
如: value1||value2 先看value1
value1为真,则直接输出value1;
value1为假、则输出value2;
value1为0、undefined、null,则输出value2。
console.log(11 || 22) //11
console.log(false || 11) //11
console.log(11 || false) //11
console.log(0 || false) //false
console.log(undefined || null) //null
console.log(null || 0) //0