以下显示"0"在Javascript 中为false:
>>> "0" == false
true
>>> false == "0"
true
Run Code Online (Sandbox Code Playgroud)
那么为什么以下打印"ha"?
>>> if ("0") console.log("ha")
ha
Run Code Online (Sandbox Code Playgroud) 我知道JavaScript在类型之间进行比较时会有很多疯狂的结果,但我并不完全理解为什么.今天碰到了这个.
为什么
"" == [null]
Run Code Online (Sandbox Code Playgroud)
true用JavaScript 评估?
更多Javascript平等娱乐,感谢@Qantas:
据我所知,在JavaScript!应该规范化一个布尔值,将其从某个其他类型转换为true或false.这意味着"0"转换为布尔值true.另一方面,如果我将它与false进行比较,事实证明它实际上是假的(因为比较的结果是真的).我在这里错过了什么规则.我在IE和Opera中测试了它.