关于比较:我应该在javascript中使用==还是===呢?

Should I use == or === In Javascript?

本问题已经有最佳答案,请猛点这里访问。

我正在用codecademy学习javascript,我做了一些比较,我的代码是:

1
`console.log(1 == 2)`

它又返回了False。我也这样做了:

1
`console.log(2*2 === 3)`

这也返回了False。为了确认我没有犯错,我做到了:

1
`console.log(1 == 1)`

那就退回了True。说明告诉我,===的意思等于。

使用==而不是===有什么问题吗?而且,哪个更好用,为什么?

谢谢你能给我的帮助!


使用==只比较值,==还比较变量的类型。

1
2
3
4
1 == 1 -> true
1 =="1" -> true
1 === 1 -> true
1 ==="1" -> false, because 1 is an integer and"1" is a string.

如果必须确定函数是否返回0或false,则需要==,因为0==false为true,而0==false为false。


这取决于具体情况。通常建议使用===,因为在大多数情况下这是正确的选择。

==表示类似,而===表示相等。这意味着要考虑对象类型。

例子

'1' == 1是真的

1 == 1是真的

'1' === 1是假的

1 === 1是真的

当使用==时,1是数字还是字符串并不重要。


http://www.w3schools.com/js/js_comparisons.asp

1
2
3
4
5
== is equal to || x==8 equals false

=== is exactly equal to (value and type) || x==="5" false

meaning that 5==="5" false; and 5===5 true

毕竟,这取决于您想要的比较类型。