为什么在 JavaScript 中,

为什么在 JavaScript 中,

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

javascriptweb developmentfront end technology

让我们逐一查看条件 −

if(‘0’ == false)

它遵循以下规则 −

如果 Type(y) 为布尔值,则返回比较 x == ToNumber(y) 的结果

== 执行类型强制转换。这意味着需要进行显式类型转换以匹配两个操作数的类型。左侧的"0"转换为数字 0。在比较这两个数字时,由于 0 等于 0,因此结果为 true。在这种情况下,这不起作用,因为它不暗示"0"字符串的真/假性质,因为它在比较之前被强制转换。

if(0)

这检查字符串是否为 null 或空,而不是是否为零。永远记住,非空字符串为真。这里不使用类型强制转换,因为可以根据字符串本身的优点将其评估为真或假。

相关文章

JavaScript 中的按位右移运算符 (>>) 是什么?

JavaScript 中 $(document).ready() 的等价函数是什么?

如果我们在 JavaScript 中重新声明一个变量会发生什么?

在 JavaScript 中声明和初始化变量有什么区别?

JavaScript 中的按位非运算符 (~) 是什么?

JavaScript 中的按位左移运算符 (<<) 是什么?

如何检查 JavaScript 中是否存在变量?

在 JavaScript 中声明变量有什么用?

JavaScript 中的按位与运算符 (&) 是什么?

JavaScript 中 new Boolean() 的用途是什么?

有用资源

javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.w3schools.cn/javascript/

打印

下一节:如何更改 JavaScript 警报按钮的样式? ❯❮ 上一节:如何在 JavaScript 中打印当前年份?

相关文章