JavaScript 中的逻辑运算符
文章目录
- 1. 逻辑 AND(&&)
- 2. 逻辑 OR(||)
- 3. 逻辑 NOT(!)
- 4. 逻辑空值合并运算符(??)
- 5. 短路求值
JavaScript 中的逻辑运算符主要包括以下几种:
1. 逻辑 AND(&&)
- 规则:如果左侧值为
false
,则返回左侧值;否则返回右侧值。 - 用法:
console.log(true && false); // false console.log(5 && 10); // 10 (5 为真,返回 10) console.log(0 && 10); // 0 (0 为假,返回 0)
2. 逻辑 OR(||)
- 规则:如果左侧值为
true
,则返回左侧值;否则返回右侧值。 - 用法:
console.log(true || false); // true console.log(0 || 10); // 10 (0 为假,返回 10) console.log(5 || 10); // 5 (5 为真,返回 5)
3. 逻辑 NOT(!)
- 规则:取反,
true
变false
,false
变true
。 - 用法:
console.log(!true); // false console.log(!0); // true console.log(!""); // true console.log(!"abc"); // false (非空字符串为 true)
4. 逻辑空值合并运算符(??)
- 规则:如果左侧值为
null
或undefined
,则返回右侧值;否则返回左侧值。 - 用法:
console.log(null ?? "默认值"); // "默认值" console.log(undefined ?? "默认"); // "默认" console.log(0 ?? "默认值"); // 0 (0 不是 null/undefined,不会触发默认值) console.log("" ?? "默认值"); // "" (空字符串不是 null/undefined)
5. 短路求值
-
逻辑运算符的特性会导致“短路求值”,即:
&&
遇到false
直接返回,不执行右侧代码;||
遇到true
直接返回,不执行右侧代码。
function test() { console.log("执行了 test"); return true; } console.log(false && test()); // false(test 不会执行) console.log(true || test()); // true(test 不会执行)