我很好奇
'' == '0' // false
左侧是一个空白字符串,右侧有一个值为0的字符串,所以很好它是假的。
但是
0 == '' // true
空白字符串如何等于零,两者的输入和值都不同。
类似
false == 'false' // false
left是false,但是我们不等于(===)类型的值,它只是值false,所以它应该是真的?但为什么它是假的。
我们可以解释一下吗?
答案 0 :(得分:1)
左操作数的类型为Number。 右操作数的类型为String。 在这种情况下,右操作数被强制转换为Number:
类型0 == Number('')
which results in
0 == 0
答案 1 :(得分:0)
以下值始终是假的:
我找到了一个很好的表格,解释了什么有用,哪些不适用于==
运算符。
Here是包含===
和if()
的表格的链接。