The == and != operators do type coercion before comparing. This is bad because it causes '' == 0 to be true. This can mask type errors.See http://jslint.com/lint.html and http://www.jslint.com/
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)
and instead of
(foo == 0)
There's also a command-line version which could be used in a continuous build (though I'd recommend we're careful deciding which checks to activate). P.S. "JSLint is less anal than the sycophantic conformanity demanded by XHTML, but more strict than the popular browsers." That's my favorite sentence I've read all week.