javascript - false=="0" 结果为真,但 !!"0" 结果为真
问题描述
今天在阅读有关 JavaScript 的博客时,我遇到了以下示例,这对我来说似乎很奇怪。请说清楚。
根据我的 JavaScript 知识!!"0"
结果true
但是,下面的语句结果对我来说似乎很奇怪,甚至我在控制台中执行它也返回了true
false == "0" //results true
我对这句话的解释如下
"0"
被视为true
,因此上面的语句可以重写为false == true
,结果必须为false
,但我得到true
的结果。请说清楚。
解决方案
使用时==
,"0"
第一种类型转换为它的数值,0
。和0 == false
。
做的时候!!"0"
,它不会被强制转换,只是将字符串转换为布尔值,并且由于任何非空字符串都是真值,它等于true
。
推荐阅读
- angular - 无主体的垫子扩展板
- javascript - Vuejs - 将参数传递给动态创建的 DOM 元素中的函数
- java - 如何修复“字段......需要一个类型的bean......无法找到”异常Spring Boot
- javascript - 如何从一个类中调用一个函数,但只有在它填充了 Javascript 中的值之后?
- python - Pytest:定义测试集合的自定义路径
- php - 将数组转换为具有多个值的一个变量
- javascript - 无法从没有波浪号 (~) 的 node_modules 导入样式表
- apache-flink - Flink 是否可以决定将哪些指标发送到 Graphite?
- node.js - Nock 不拦截请求 - 错误:getaddrinfo ENOTFOUND
- ansible - 运行时主机之间的ansible共享变量