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