javascript - 为什么 0 == ""在 JavaScript 中为真

标签 javascript

为什么 0 == "" 在 JavaScript 中为真?我找到了一个 similar post here ,但为什么数字 0 类似于一个空字符串?当然,0 === "" 是错误的。

最佳答案

0 == ''

左操作数是数字类型。
右操作数是字符串类型。

在这种情况下,右操作数被强制转换为 Number 类型:

0 == Number('')

结果

0 == 0

来自抽象相等比较算法(第 4 条):

If Type(x) is Number and Type(y) is String, return the result of the comparison x == ToNumber(y).

来源:http://es5.github.com/#x11.9.3

关于javascript - 为什么 0 == ""在 JavaScript 中为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627342/

相关文章:

javascript - 将动画悬停在菜单的一项而不是所有项目上

javascript - 如何在没有Flash的情况下在客户端录制语音?

javascript - 为什么在使用百分比或 float 时我的布局没有扩展到窗口底部?

javascript - 重置/再次渲染 polymer 中的元素

javascript - 突出显示当前页面

javascript - 有没有办法在 JSON 响应中选择数组中的数组,而不使用标准数字索引(JS)

javascript 查找图像

javascript - 如何使用HTML5在ios6中录制和播放语音

javascript - 在循环中的多个匿名异步函数中保持不同变量的状态

javascript - 两个浏览器选项卡中的相同 Vue.js 组件使 <select> 镜像其选定值