据我所知,(x == false)应该做与 相同的事情!x,因为他们都试图解释x为布尔值,然后否定它。
但是,当我尝试对此进行测试时,我开始出现一些非常奇怪的行为。
例如:
false == []并且false == ![]都返回true。
此外
false == undefined并且true == undefined两者都返回false,就像
false == Infinity并且true == Infinity和
false == NaN和true == NaN。
这里到底发生了什么?