5

I am learning Javascript with codecademy, and I was doing some comparisons, and for my code I did:

`console.log(1 == 2)`

and it returned False. I also did:

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

and that also returned False. To check that I have not made a mistake, I did:

`console.log(1 == 1)`

and that returned True The instructions tell me that === means equal to.

Are there any problems with using == instead of ===? And, which is better to use and why?

Thanks for any help you can give me!

4

3 回答 3

4

Using == compares only the values, === compares the type of the variable also.

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

You need === if you have to determine if a function returns 0 or false, as 0 == false is true but 0 === false is false.

于 2013-07-14T20:05:07.587 回答
3

It really depends on the situation. It's usually recommended to use === because in most cases that's the right choice.

== means Similar while
=== means Equal. Meaning it takes object type in consideration.

Example

'1' == 1 is true

1 == 1 is true

'1' === 1 is false

1 === 1 is true

When using == it doesn't matter if 1 is a Number or a String.

于 2013-07-14T20:03:29.757 回答
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

After all, it depends on which type of comparison you want.

于 2013-07-14T20:05:23.790 回答