How do you check undefined ?
How do you check if a variable is undefined in JavaScript ?
Solution 1:
(typeof x === "undefined")
It turns out that, checking x directly instead of passing it to a typeof operator and then doing a string match.
Solution 2:
( x === undefined )
Still, this might fall into the bug where someone redefines undefined to something else.
undefined = 1 // BOOM!
So, the best way to check for undefined is to use the void operator which is defined as
"The void operator evaluates the given expression and then returns undefined."
Solution 3:
(x === void 0)
The void operator allows inserting expressions that produce side effects into places where an expression that evaluates to undefined is desired.
Written by Boopathi Rajaa
Related protips
2 Responses
I heard that undefined is immutable in EcmaScript 5. Turns out it actually means something else than I expected: https://gist.github.com/mzgol/5356300
BTW, lodash.js uses solution 1.
@analog-nico after checking the gist everything looks fine. #1 and #2 are not really uses of "undefined" but a parameter using a JavaScript built-in object name which is not recommended but possible. You could also use parameters names like window, document or location with similar results.
Have a fresh tip? Share with Coderwall community!
JavaScript on a page runs with the privileges of that origin. One altered library, tag manager, or snippet can read inputs, change what people see, and call your APIs as the user.
Security insights from Cside