JavaScript逻辑运算符和字符串/数字

2022-09-04 00:00:00 logical-operators javascript

我无法理解逻辑运算符是如何工作的。我知道它是如何处理布尔值的,但是字符串或数字呢?

2 && 7
returns 7

"dog" && "cat"
returns "cat"
我明白了,如果数字或字符串不具有相同的值,则返回第二个值。但是为什么呢?我可以在"现实世界"中使用它吗?


解决方案

如果左侧为True,则计算为右侧。

如果左侧不为True,则计算为左侧。


false && true计算为LHS。false也是如此。

false && false评估为LHS。false也是如此。

true && false评估为RHS手侧。false也是如此。

true && true评估为RHS。true也是如此。

2 && 7评估为RHS。也是7(这是真的)。

0 && 7评估为LHS。0(这是假的)。

"cat" && "dog"评估为RHS手侧。也是"dog"(这是真的)。


||工作方式相同,但如果为False,则返回lhs。


我可以在"现实世界"中使用它做什么?

您可以使用它的主要方法是计算和值是否都为真。这是运算符的点。

(它还用作速记if测试,并用于确定将两个值中的哪一个赋值到某个位置)。

相关文章