首页 > 解决方案 > JS 0 === (0 || 6); 返回 false - 为什么?

问题描述

0 === (0 || 6) // returns false
false === (false || 6) // returns false
(false === false || false === 6) // returns true
(0 === 0 || 0 === 6) // returns true

console.log( 0 === (0 || 6) );
console.log( false === (false || 6) );
console.log( (false === false || false === 6) );
console.log( (0 === 0 || 0 === 6) );

是什么赋予了?我之前遇到过这种情况,但不明白。

标签: javascriptconditionalequalityconditional-operator

解决方案


0 === (0 || 6) // returns false

这都是关于操作顺序的。这将返回 false,因为首先评估括号。所以(0 || 6)返回 6 并且0 === 6false

false === (false || 6) // returns false

(false === false || false === 6) // returns true

(0 === 0 || 0 === 6) // returns true

在解释之后,其余的就很容易理解了。


推荐阅读