武器数据档案馆

为什么在JavaScript中,“if ('0' == false)” 等于 false,而在 “if(0)” 语句中却为 true?

JavascriptWeb 开发前端技术

让我们逐一看看这些条件:

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)

这检查字符串是否为空,而不是它是否为零。始终记住,非空字符串为 true。这里没有使用类型强制转换,因为字符串可以根据其自身属性评估为真或假。

mkotla

更新于:2020年6月16日

1K+ 次浏览

相关文章如果 ([] == false) 为 true,为什么 ([] || true) 的结果为 []? - JavaScript

判断以下语句是真是假。'0' 是方程 $x+1=0$ 的解。

在 MySQL 中将 TRUE FALSE 记录显示为 0 1

镁是一种不可燃物质。(判断对错,如果错误,请说明原因)

最小的整数是零。此语句是真是假?

为什么 php 的 in_array 函数在传入 0 时返回 true?

如果一个数字能被 3 整除,它一定能被 9 整除。(对/错)

为什么 MySQL 将“TRUE or TRUE and FALSE”计算为 true?

判断下列语句是真是假。如果语句为假,请在笔记本上写出正确的语句。(a) 将一根木头砍成几块是化学变化。(对/错)(b) 叶子形成肥料是物理变化。(对/错)(c) 涂有锌的铁管不容易生锈。(对/错)(d) 铁和锈是相同的物质。(对/错)(e) 蒸汽冷凝不是化学变化。(对/错)

Python - 给定一个整数 'n',检查它是否是 4 的幂,如果是,则返回 True,否则返回 False。

Python - 给定一个整数 'n',检查它是否是 3 的幂,如果是,则返回 True,否则返回 False。

Python 中检查是否可以在 N 步内从 (0, 0) 移动到 (x, y) 的方法

JavaScript 中检查数组元素是否包含 false 值的方法?

速度时间图的面积表示物体的位移。“判断此说法是真是假。”

判断对错:

开启你的职业生涯

完成课程获得认证

开始学习

打印页面

上一页 下一页

广告