false ==“ 0”的结果为true,而!!“ 0”的结果为true

时间:2019-01-30 17:50:27

标签: javascript boolean expression ecmascript-5

今天,在阅读有关JavaScript的博客时,我遇到了以下示例,这对我来说似乎很奇怪。请澄清。

根据我的JavaScript知识!!"0"结果true

但是,下面的语句结果对我来说似乎很奇怪,甚至我在也返回了true的控制台中执行了它

false == "0" //results true

我对此声明的解释如下

"0"被视为true,因此上述声明可以重写为false == true,其结果必须为false,但我得到的是{{1} } 结果。请澄清。

1 个答案:

答案 0 :(得分:3)

使用==时,首先将"0"强制转换为其数字值0。还有0 == false

执行!!"0"时,它不会被强制转换,只是将字符串转换为布尔值,并且由于任何非空字符串都是真实的,因此它等于true