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);
}
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);
}
Share
Improve this question
asked Dec 21, 2010 at 23:49
sehummelsehummel
5,56825 gold badges92 silver badges141 bronze badges
1 Answer
Reset to default 10Use 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 pared to undefined
.
Update Clarification for !==
:
This operator not only pares 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.