【发布时间】:2013-06-01 20:26:54
【问题描述】:
在阅读 JavaScript 文档时,我遇到了一个 section,这让我很困惑:
“逻辑运算符通常与布尔(逻辑)值一起使用;当它们使用时,它们返回一个布尔值。但是,&& 和 || 运算符实际上返回指定操作数之一的值,所以如果这些运算符是与非布尔值一起使用时,它们可能会返回非布尔值。逻辑运算符如下表所述。
&& Operator: expr1 && expr2
(逻辑与) 如果可以转换为 false,则返回 expr1;否则,返回 expr2。因此,当与布尔值一起使用时,如果两个操作数都为真,则 && 返回真;否则,返回 false。
|| Operator: expr1 || expr2
(逻辑或)如果可以转换为真,则返回 expr1;否则,返回 expr2。因此,当与布尔值一起使用时,||如果任一操作数为真,则返回真;如果两者都为假,则返回假。”
假设你有:
var a3 = false && true;
所以考虑到“and”运算符的规则,变量 a3 应该包含值 true,因为“false”不能转换为 false。
【问题讨论】:
-
False 可以简单地转换为 false,因为它已经是 false。
-
为什么
false不能转换成false?false是false。 -
True 也可以转换为 false。因此任何东西都可以转换为假?
-
真不能转假。
标签: javascript boolean logical-operators