为什么JavaScript中的0 ==“”为真

时间:2011-09-30 01:09:51

标签: javascript

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

1 个答案:

答案 0 :(得分:57)

0 == ''

左操作数的编号为。
右操作数的类型为String。

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

类型
0 == Number('')

导致

0 == 0

来自抽象平等比较算法(编号4):

  

如果Type(x)是Number而Type(y)是String,则返回结果   比较x == ToNumber(y)。

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