为什么1&& 2返回2?

时间:2017-10-15 19:06:56

标签: javascript console.log

为什么表达式1 && 2计算为2?

console.log("1 && 2 = " + (1 && 2));

3 个答案:

答案 0 :(得分:2)

&安培;&安培; (和运算符)返回最后一个(右侧)值,只要该链是" truthy"。

如果您尝试0&& 2 - >结果将是0(这是" falsy")

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Logical_operators

答案 1 :(得分:1)

根据MDN

  

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

因为1可以评估为true1 && 2会返回2

答案 2 :(得分:0)

根据这个页面:

Why 1 && 2 == 2

  

AND返回第一个假值或最后一个值(如果没有找到)。   或者返回第一个真正的一个。

对于同一声明中的多个运算符:

  AND&&的优先级运算符高于OR ||,因此它在OR之前执行。

     

警告(5 || 1&& 0); // 5