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’