Reputation: 5568
How do I prevent a Javascript alert from firing if the alert value is undefined? In other words, something like this:
if (alert(message) != 'undefined') {
alert(message);
}
Upvotes: 6
Views: 3507
Reputation: 816522
Use typeof
:
if (typeof message !== 'undefined')
Don't put alert(message)
into the if
expression, otherwise you will execute alert
(which we want to avoid before we know the type of message
) and the return value (which is also undefined
btw ;)) will be compared to undefined
.
Update Clarification for !==
:
This operator not only compares the value of two operands but also the type. That means no type coercion is done:
42 == "42" // true
42 === "42" // false
In this case it is not really necessary because we know that typeof
always returns a string but it is good practice and if you use it thoroughly and consistently, it is more clear where you really want to have type coercion and where not.
Upvotes: 10