为什么在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 值的方法?
速度时间图的面积表示物体的位移。“判断此说法是真是假。”
判断对错:
开启你的职业生涯
完成课程获得认证
开始学习
打印页面
上一页 下一页
广告