JavaScript中逻辑运算符返回较大的值

5

我正在练习JavaScript中的逻辑运算符,并完全理解了其中的概念,但是对于这个等式似乎我还不是很理解。

    const one = 1;
    const two = 5;
    console.log(one && two);

在这种情况下,为什么返回的是五而不是一?难道不应该返回第一个值,因为两个值都为真吗?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND - BeerusDev
请参考以下示例:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Logical_AND#using_and - joy08
1
这回答了你的问题吗?JavaScript中的逻辑运算符-如何使用它们?&&会评估第一个假操作数或最后一个真操作数。 - Sebastian Simon
2个回答

5

来自MDN有关逻辑与(&&)的说明:

"如果expr1可以转换为true,则返回expr2;否则返回expr1。"

因此,在这个例子中,1可以被转换为true,所以它返回第二个值5


我无法理解这个... - Paurush Sinha
你说得对,我把它们交换后,返回了最后一个。谢谢。 - Joey

2

逻辑与(&&)运算符在所有其他值都为真(true)时返回最后一个值,否则它会返回第一个非truthy值。

例如:Java != JavaScript


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接