1. 逻辑或运算符 ||
技术
- 语法:
expr1 || expr2
- 功能: 返回操作数中第一个为
true
的值,如果所有操作数均为false
,则返回最后一个操作数的值。 - 短路特性: 如果
expr1
的值为true
,则expr2
不会被计算(短路),因为结果已经确定为true
。
应用场景
- 提供默认值:当某个变量可能是
false
或其他假值时,可以用||
运算符来指定一个默认值。 - 条件判断:在需要根据多个条件来决定是否执行某些代码时。
示例代码
let userInput = null;
let defaultValue = "Default";
// 使用逻辑或运算符提供默认值
let value = userInput || defaultValue;
console.log(value); // Output: "Default"
在此例中,因为 userInput
为 null
(假值),value
将取 defaultValue
的值。
2. 逻辑与运算符 &&
技术
- 语法:
expr1 && expr2
- 功能: 返回操作数中第一个为
false
的值,如果所有操作数均为true
,则返回最后一个操作数的值。 - 短路特性: 如果
expr1
的值为false
,则expr2
不会被计算(短路),因为结果已经确定为false
。
应用场景
- 条件执行:在条件为真时才执行某些操作,例如条件语句中。
- 确保多个条件均为真:在进行多条件判断时,可以使用
&&
来确保所有条件均为真。
示例代码
let isUserLoggedIn = true;
let hasPermission = false;
// 使用逻辑与运算符判断是否执行某操作
let canAccess = isUserLoggedIn && hasPermission;
console.log(canAccess); // Output: false
在此例中,因为 hasPermission
为 false
,canAccess
也为 false
。
3. 逻辑非运算符 !
技术
- 语法:
!expr
- 功能: 返回布尔值的相反值(取反)。如果
expr
为true
,则!expr
为false
,反之亦然。
应用场景
- 逻辑取反:用于反转布尔值,用于实现条件判断等。
- 确保值的真实性:通过将值取反来检查其是否为假值。
示例代码
let isAvailable = true;
// 使用逻辑非运算符取反
let isNotAvailable = !isAvailable;
console.log(isNotAvailable); // Output: false
总结
- 逻辑或运算符
||
: 用于返回第一个为true
的值或最后一个值,常用于提供默认值和条件判断。 - 逻辑与运算符
&&
: 用于返回第一个为false
的值或最后一个值,常用于确保多个条件均为真。 - 逻辑非运算符
!
: 用于反转布尔值,常用于取反和逻辑判断