首页 > 解决方案 > false=="0" 结果为真,但 !!"0" 结果为真

问题描述

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

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

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

false == "0" //results true

我对这句话的解释如下

"0"被视为true,因此上面的语句可以重写为false == true,结果必须为false,但我得到true的结果。请说清楚。

标签: javascriptbooleanexpressionecmascript-5

解决方案


使用时=="0"第一种类型转换为它的数值,0。和0 == false

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


推荐阅读