The === and !== are identity compares (ie check that things are identical without tye conversion) Some more detail below.
The == and != operators do type coercion before comparing. This is bad because it causes '' == 0 to be true. This can mask type errors.
When comparing to any of the following values, use the === or !== operators, which do not do type coercion.
0 '' undefined null false true
If you want the type coercion, then use the short form. Instead of (foo != 0)
just say (foo)
and instead of (foo == 0)