The standard way to catch null and undefined simultaneously is this:

if (variable == null) { // do something }

--which is 100% equivalent to the more explicit but less concise:

if (variable === undefined || variable === null) { // do something }

When writing professional JS, it's taken for granted that type equality and the behavior of == vs === is understood. Therefore we use == and only compare to null .

Edit again

The comments suggesting the use of typeof are simply wrong. Yes, my solution above will cause a ReferenceError if the variable doesn't exist. This is a good thing. This ReferenceError is desirable: it will help you find your mistakes and fix them before you ship your code, just like compiler errors would in other languages. Use try / catch if you are working with input you don't have control over.

You should not have any references to undeclared variables in your code.