白骑士的JavaScript教学JavaScript语法基础篇之运算符与表达式 2.2.4 逻辑运算符

        逻辑运算符是用于布尔逻辑运算的符号,它们常用于控制流程和条件判断,帮助程序员编写更复杂和更动态的条件语句。在JavaScript中,主要的逻辑运算符包括逻辑与(‘&&‘)、逻辑或(‘||‘)、逻辑非(‘!‘)以及一些其他特定场景的运算符。逻辑运算符用于将多个布尔值或表达式组合在一起,形成更复杂的条件判断。它们通常用于‘if‘语句、‘while‘循环、‘for‘循环等控制结构中。

JavaScript中的主要逻辑运算符有:

  • 逻辑与(‘&&‘)
  • 逻辑或(‘||‘)
  • 逻辑非(‘!‘)

        此外,还有两个与逻辑运算相关的特殊运算符:

  • 空值合并运算符(‘??‘)
  • 逻辑与赋值运算符(‘&&=‘)
  • 逻辑或赋值运算符(‘||=‘)
  • 空值合并赋值运算符(‘??=‘)

        下面将详细介绍每种运算符的用法和特点。

逻辑与运算符(‘&&‘)

        逻辑与运算符‘&&‘用于将两个布尔表达式组合在一起,只有当两个表达式都为‘true‘时,整个表达式的结果才为‘true‘。

示例

let a = true;
let b = true;
console.log(a && b); // 输出 true

let c = false;
console.log(a && c); // 输出 false

特点

  • 如果第一个操作数为‘false‘,则不会再计算第二个操作数(短路运算)。
  • 常用于判断多个条件是否同时成立。

示例

let x = 5;
let y = 10;

if (x > 0 && y > 0) {
    console.log("Both numbers are positive.");
}

逻辑或运算符(‘||‘)

        逻辑或运算符‘||‘用于将两个布尔表达式组合在一起,只要其中一个表达式为‘true‘,整个表达式的结果就为‘true‘。

示例

let a = true;
let b = false;
console.log(a || b); // 输出 true

let c = false;
console.log(b || c); // 输出 false

特点

  • 如果第一个操作数为‘true‘,则不会再计算第二个操作数(短路运算)。
  • 常用于判断至少一个条件是否成立。

示例

let x = -5;
let y = 10;

if (x > 0 || y > 0) {
    console.log("At least one number is positive.");
}

逻辑非运算符(‘!‘)

        逻辑非运算符‘!‘用于取反一个布尔值,如果表达式为‘true‘,则‘!‘运算符会将其变为‘false‘,反之亦然。

示例

let a = true;
console.log(!a); // 输出 false

let b = false;
console.log(!b); // 输出 true

特点

  • ‘!‘运算符通常用于检查某个条件是否不成立。

示例

let isValid = false;

if (!isValid) {
    console.log("The data is not valid.");
}

空值合并运算符(‘??‘)

        空值合并运算符‘??‘用于在两个表达式之间进行选择,返回第一个非‘null‘或‘undefined‘的操作数。

示例

let userName = null;
let defaultName = "Guest";
let name = userName ?? defaultName; // name的值是"Guest"

特点

  • 当左侧操作数为‘null‘或‘undefined‘时,返回右侧操作数。

示例

let result = null ?? "default value"; // result的值是 "default value"
let result2 = "Hello" ?? "default value"; // result2的值是 "Hello"

逻辑与赋值运算符(‘&&=‘)

        逻辑与赋值运算符‘&&=‘用于在左侧操作数为‘true‘时,才对其进行赋值操作。

示例

let x = true;
let y = 10;
x &&= y; // x的值是10

let a = false;
a &&= y; // a的值仍为false

特点

  • 常用于在某个条件成立时更新变量值。

示例

let isActive = true;

isActive &&= "Active"; // isActive的值是 "Active"

逻辑或赋值运算符(‘||=‘)

        逻辑或赋值运算符‘||=‘用于在左侧操作数为‘false‘时,才对其进行赋值操作。

示例

let x = false;
let y = 10;
x ||= y; // x的值是10

let a = true;
a ||= y; // a的值仍为true

特点

  • 常用于在某个条件不成立时设置默认值。

示例

let isActive = false;

isActive ||= "Inactive"; // isActive的值是 "Inactive"

空值合并赋值运算符(‘??=‘)

        空值合并赋值运算符‘??=‘用于在左侧操作数为‘null‘或‘undefined‘时,才对其进行赋值操作。

示例

let x = null;
let y = 10;
x ??= y; // x的值是10

let a = 5;
a ??= y; // a的值仍为5

特点

  • 常用于在变量未初始化或无效时设置默认值。

示例

let userName = null;

userName ??= "Guest"; // userName的值是 "Guest"

总结

        逻辑运算符是JavaScript中控制程序逻辑的核心工具。通过这些运算符,你可以轻松地创建复杂的条件判断,从而实现更强大的功能和更动态的逻辑。理解短路运算和特殊运算符(如空值合并运算符)的行为,可以帮助你编写更高效和健壮的代码。在日常开发中,合理运用逻辑运算符,能够让代码逻辑更加清晰易懂,也能提升代码的可维护性和可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白骑士所长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值