1. 逻辑与 &&
逻辑与 &&
在以下情况下返回 true
:
- 如果两个操作数都为
true
。 - 如果第一个操作数为对象、函数、非空字符串、非零数字等真值。
- 如果第一个操作数为假值,则返回第一个操作数;否则,返回第二个操作数。
示例:
const a = true;
const b = 5;
const result = a && b;
console.log(result); // 输出: 5
等号两边都是变量或表达式的情况:
const x = 10;
const y = "Hello";
const result = x > 5 && y.length > 0;
console.log(result); // 输出: true
2. 逻辑或 ||
逻辑或 ||
在以下情况下返回 true
:
- 如果两个操作数都为
false
。 - 如果第一个操作数为假值,则返回第二个操作数;否则,返回第一个操作数。
示例:
const a = false;
const b = "Hello";
const result = a || b;
console.log(result); // 输出: "Hello"
等号两边都是变量或表达式的情况:
const username = "John";
const defaultUsername = "Guest";
const result = username || defaultUsername;
console.log(result); // 输出: "John"
3. 利用逻辑运算符处理默认值
逻辑运算符常用于设置默认值,特别是在获取对象属性或函数参数时。
示例:
function greet(name) {
name = name || "Guest";
console.log(`Hello, ${name}!`);
}
greet(); // 输出: "Hello, Guest!"
greet("John"); // 输出: "Hello, John!"
4. 避免短路评估
逻辑运算符具有短路评估的特性,即如果第一个操作数足以确定结果,则不会计算第二个操作数。
示例:
function performTask(user) {
user && saveToDatabase(user);
}
// 如果 user 存在,则保存到数据库
performTask({ name: "John" });
在这个示例中,saveToDatabase
只有在 user
存在时才会被调用,避免了不必要的数据库操作。
结论
逻辑运算符 &&
和 ||
是 JavaScript 中用于处理条件和控制流的强大工具。它们不仅用于布尔逻辑,还可以用于设置默认值、避免短路评估等场景,使代码更简洁而灵活。熟练使用这些运算符将提高代码的可读性和效率。