在JavaScript中,有三个逻辑运算符:||
(逻辑或)、&&
(逻辑与)和!
(逻辑非)。
- 逻辑或 (||)
逻辑或运算符 ||
用于连接两个表达式,当至少有一个表达式为真(truthy)时,结果为真。如果两个表达式都为假(falsy),则结果为假。
console.log(0 || "hello"); // 输出: "hello"
console.log("hello" || 0); // 输出: "hello"
- 逻辑与 (&&)
逻辑与运算符 &&
用于连接两个表达式,只有当两个表达式都为真时,结果才为真。如果任一表达式为假,则结果为假。
console.log(1 && 2 && 3); // 输出: 3
console.log(1 && 0 && 3); // 输出: 0
- 逻辑非 (!)
逻辑非运算符 !
用于取一个表达式的反,即如果表达式为真,则结果为假;如果表达式为假,则结果为真。
console.log(!true); // 输出: false
console.log(!false); // 输出: true
短路特性
-
逻辑或 (||) 是短路运算符,如果第一个表达式为真,则不会计算第二个表达式,因为整个表达式的结果已经确定为真。
-
逻辑与 (&&) 也是短路运算符,如果第一个表达式为假,则不会计算第二个表达式,因为整个表达式的结果已经确定为假。
应用场景
- 逻辑或 (||) 常用于为变量提供默认值。例如:
const displayName = user.name || "Anonymous";
- 逻辑与 (&&) 常用于确保多个条件都满足时才执行某个操作。例如:
if (isLoggedIn && hasPermission) {
performAction();
}
- 逻辑非 (!) 常用于条件判断的反转。例如:
const isEnabled = !isDisabled;
这些逻辑运算符在JavaScript中非常常用,掌握它们可以帮助你编写更简洁、高效的代码。