为什么在 JavaScript 中,“if ('0' == false)” 等于 false,而在“if(0)” 语句中却得到 true?
让我们逐一查看这些条件 -
if(‘0’ == false)
它遵循以下规则 -
If Type(y) is Boolean, return the result of the comparison x == ToNumber(y)
== 运算符会进行类型强制转换。这意味着请求显式类型转换以匹配两个操作数的类型。左侧的 '0' 被转换为数字 0。在比较这两个数字时,由于 0 等于 0,因此结果为 true。在这种情况下,这不起作用,因为它没有暗示 '0' 字符串的真/假性质,因为它在比较之前就被强制转换了。
if(0)
这检查字符串是否为空或空,而不是它是否为零。始终记住,非空字符串为真。此处不使用类型强制转换,因为字符串可以根据其自身优点评估为真或假。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP