I\'ve seem different approaches for (strict equality) checking for undefined
:
if (something === undefined)
if (typeof some
undefined
undefined
. Older version of the JS standard let you change the value of undefined
as it's just a variable. void 0
is undefined
, it's safer.An extra one:
if (x == null)
. Tests for undefined
and null
because undefined == null
but remember, undefined !== null
In JavaScript there's a type 'undefined'
and a value undefined
. The value undefined
is of type 'undefined'
.
if (something === undefined)
is the standard normal way
typeof something === 'undefined'
on a declared variable is mostly an overdefensive solution dating from the time where you could change window.undefined
. If you don't know if your variable is declared, it has the advantage of not raising an error but I don't think a legit code should support the case of a variable whose declarative state is unknown.
void 0
(or void anything) is a normalized way to get undefined
so it's equivalent to the first one but useless.