+4  A: 

The "normal" == operators in javascript perform type coercion, and will do their best to treat a string as number or an object as a string where required. The longer === operators will not do type coercion, but rather a strict comparison within the type.

Joel Coehoorn
+12  A: 

=== is the Identity operator, and is used to test that value and type are equal.

so..

"3" == 3 // true
"3" === 3 // false
1 == true // true
1 === true // false
"1" == true // true
"1" === true // false

so when you care that value and type are equal, or not equal use Identity operators === or !==

Matthew Vines
nice and definitive
annakata
A: 

'===' and '!==' are the same as '==' and '!=', but additionally do checks for the variable types.

schnaader