首页 文章

JavaScript逻辑运算符内部

提问于
浏览
0

在阅读JavaScript文档的过程中,我遇到了一个让我困惑的section

“逻辑运算符通常与布尔(逻辑)值一起使用;当它们是,它们返回一个布尔值 . 但是,&&和||运算符实际上返回一个指定操作数的值,所以如果这些运算符与非-Boolean值,它们可能返回非布尔值 . 逻辑运算符如下表所述 .

&& Operator: expr1 && expr2

(逻辑AND)如果可以转换为false,则返回expr1;否则,返回expr2 . 因此,当与布尔值一起使用时,如果两个操作数都为真,则&&返回true;否则,返回false .

|| Operator: expr1 || expr2

(Logical OR)如果可以转换为true,则返回expr1;否则,返回expr2 . 因此,当与布尔值一起使用时,||如果任一操作数为true,则返回true;如果两者都为假,则返回false . “

假设你有:

var a3 = false && true;

因此,考虑到“和”运算符的规则,变量a3应该包含值true,因为“false”不能转换为false .

1 回答

  • 5

    单词"can be converted to false"的选择源于具有真值和假值的JavaScript .

    所有值都可以转换为真值或假值 .

    false 是假的,因此不会发生类型转换,但其他值将转换为false,例如:

    undefined, null, NaN, 0, ""
    

    所以和语句将返回 false 而不是 true ,因为 false 已经 false 并且不需要转换 .

相关问题