我应该在Javascript中使用==或===吗?

时间:2013-07-14 20:01:04

标签: javascript comparison boolean equals console.log

我正在使用codecademy学习Javascript,我正在进行一些比较,而对于我的代码我做了:

`console.log(1 == 2)`

并返回False。 我也做了:

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

并且还返回了False。 为了检查我没有犯错,我做了:

`console.log(1 == 1)`

并返回True 说明告诉我===表示等于。

使用==代替===时是否有任何问题?而且,哪个更好用,为什么?

感谢你们给我的任何帮助!

3 个答案:

答案 0 :(得分:3)

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

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

实施例

'1' == 1是真的

1 == 1是真的

'1' === 1是假的

1 === 1是真的

使用==时,如果1是数字或字符串则无关紧要。

答案 1 :(得分:3)

使用==仅比较值,===也比较变量的类型。

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

如果你必须确定函数是返回0还是假,你需要===,因为0 == false是真但是0 === false是假。

答案 2 :(得分:2)

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

== 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

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