JavaScript:如何''=='0'// false和0 ==''// true?

时间:2015-08-18 09:32:07

标签: javascript

我很好奇

'' == '0'  // false

左侧是一个空白字符串,右侧有一个值为0的字符串,所以很好它是假的。

但是

0 == ''    // true

空白字符串如何等于零,两者的输入和值都不同。

类似

false == 'false'   // false

left是false,但是我们不等于(===)类型的值,它只是值false,所以它应该是真的?但为什么它是假的。

我们可以解释一下吗?

2 个答案:

答案 0 :(得分:1)

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

类型
0 == Number('')
which results in

0 == 0

答案 1 :(得分:0)

以下值始终是假的:

  • false 0(零)
  • ""或者'' (空字符串)
  • 未定义
  • NaN(一个特殊的数字值,意思是非数字!)

我找到了一个很好的表格,解释了什么有用,哪些不适用于==运算符。

enter image description here

Here是包含===if()的表格的链接。