- 逻辑或操作符
||
- 第一个值为false, 总会返回第二个值
console.log( 0 || 'hello'); // 返回字符串
console.log( undefined || 'hello'); // 返回字符串
console.log(0 || NaN); // 返回NaN
console.log(NaN || ''); // 返回空串
console.log('' || null); // 返回null
console.log(undefined || 0); // 返回0
- 第一个值为true,不执行第二个值
let obj = {};
console.log(obj || number); //返回obj
console.log(0 || number); //报错,number未定义
- 逻辑与
&&
操作符
- 第一个值为false,不执行第二个值
console.log(0 && number); // 返回 0 不会报错
- 第一个值为true,永远返回第二个值
let obj = {};
console.log(obj && str); // 报错,str未定义
console.log(obj && ''); // 返回空串
逻辑或
- 只要第一个值为false,永远返回第二个值
- 只要第一个值为true,返回第一个值,不执行第二个操作
逻辑与
- 只要第一个值为true,永远返回第二个值
- 只要第一个值为false, 返回第一个值,不执行第二个操作
网友评论