1.或运算符||

(1)第一个值是false,返回第二个值    

console.log(0 || 'hello')   // 'hello'
console.log(undefined || 'hello')   // 'hello'
console.log(0 || NaN)      // NaN
console.log(NaN || '')     // ''
console.log('' || null)    // null
console.log(undefined || 0) // 0

(2)第一个是true,返回第一个值,不执行第二个值

let obj = {}
console.log(obj || number)    //{}
console.log(0 || number)      // 报错,number未定义

1.或运算符&&

(1)第一个是false,返回第一个值,不执行第二个值

console.log(0 && number)  // 0

(2)第一个是true,返回第二个值

console.log(1 && number)   // 报错,number未定义
console.log(1 && 'hello')  // ‘hello’
09-26 19:53