前端从零开始(90)JavaScript 逻辑运算符

JavaScript 逻辑运算符

逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。然而,&& 和 || 运算符会返回一个指定操作数的值,因此,这些运算符也用于非布尔值。这时,它们也就会返回一个非布尔型值。—— MDN

逻辑运算符用于逻辑运算。如变量 num 要大于 2同时也要小于 7,这里的同时就是一种逻辑运算。

JavaScript 中的逻辑运算有三种:

  • && 与 (并且)
  • || 或 (或者)
  • ! 非 (取反)

1. 与

语法:

表达式1 && 表达式2

如果表达式1的结果成立则返回表达式2的结果,否则返回表达式1的结果

与可以理解为且、并且、同时。与在 JavaScript 使用 && 表示。

true && true; // true
true && false; // false
false && true; // false
false && false; // false

与操作在左侧的表达式结果为 true 或者可以隐式转换为true的时候,会返回右侧表达式结果,否则返回左侧表达式结果。

如:判断成绩是否处于 80 到 100 之间。

80 到 100 之间换一种表述方式就是,成绩大于等于 80 并且成绩小于等于 100,这种表述形式更像程序语言,所以条件就是分数 >= 80 并且 分数 <= 100

var score= 67;

if (score >= 80 && score <= 100) {
console.log(score + '分在80到100之间');
} else {
console.log(score + '分不在80到100之间');
}

if 语句中的条件左右都不满足,所以返回了表达式 score >= 80 的结果 false。

如果 score 为 90,则满足两个条件,返回右侧表达式的结果。

2. 或

语法:

表达式1 || 表达式2

如果表达式1结果成立,则返回表达式 1 的结果,否则返回表达式 2 的结果

或就是或者。在 JavaScript 中使用 || 表示。

或操作符在当有表达式的结果为 true 或者可以隐式转换为 true 的时候,就返回这个表达式的结果,如果没有则返回右侧表达式的结果。

true || true; // true
true || false; // true
false || true; // true
false || false; // false

如:判断一个数能被 3 整除或者能被 5 整除。

能被 3 或者 5 整除的数,表述成类似于计算机语言的样子就是某个数 % 3 === 0 或者 某个数 % 5 === 0

var number = 15;

if (number % 3 === 0 || number % 5 === 0) {
console.log(number + '可以被3或5整除');
} else {
console.log(number + '不可以被3或5整除');
}

// 输出:15可以被3或5整除

3. 非

语法:

!表达式

非就是取反。表达式结果如果是布尔值,则会直接取反,结果如果不是布尔值,则会转换成布尔值再取反。

取反即将 true 变成 false,或者将 false 变成 true

!true; // false
!false; // true

!0; // true
!''; // true

!1; // false

不仅在日常编码中很常用到非,在许多代码压缩工作中也会用到非,如将 true 压缩成 !0,false 压缩成 !1,从 4 个字符和 5 个字符压缩到 2 个字符。

4. 双重非

双重非就是使用两个非,通常用于将一种数据类型转换成布尔值。

!!1; // true

首先 !1 会得到结果 false,再通过 !false 就会得到结果 true

5. 短路逻辑

短路逻辑是一种逻辑运算符的求值策略,还可以称作短路求值最小化求值

JavaScript 在进行与或计算的时候就会用到短路逻辑。

如:判断一个数是 2 的倍数同时又是 5 的倍数。

var number = 7;

number % 2 === 0 && number % 5 === 0;

number 不满足任意一个条件,&& 操作符碰到不成立的表达式就会直接返回这个表达式。

显然 number % 2 === 0 就不成立,所以直接返回这个表达式的结果,这样一个逻辑运算就已经得出结果了,JavaScript 不会再计算右侧的表达式。

这就是短路逻辑,只要得出了结果,就不会再继续计算

6. 小结

JavaScript 中有与&&、或||、非!三种逻辑运算符,用于处理值之间的逻辑关系,当需要多个条件的相互关系来决定结果的时候,就会用到逻辑运算符。

微信公众号

扫码关注


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/18785.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!