¿Cómo evito que se active una alerta de Javascript si el valor de la alerta no está definido? En otras palabras, algo como esto:Comprobación para ver si existe un valor en Javascript
if (alert(message) != 'undefined') {
alert(message);
}
¿Cómo evito que se active una alerta de Javascript si el valor de la alerta no está definido? En otras palabras, algo como esto:Comprobación para ver si existe un valor en Javascript
if (alert(message) != 'undefined') {
alert(message);
}
Uso typeof
:
if (typeof message !== 'undefined')
No ponga alert(message)
en la expresión if
, de lo contrario se ejecutará alert
(que queremos evitar antes saber el tipo de message
) y el valor de retorno (que también es undefined
btw;)) se comparará con undefined
.
actualización Aclaración de !==
:
Este operador no sólo compara el valor de dos operandos, sino también el tipo . Eso significa que no type coercion se hace:
42 == "42" // true
42 === "42" // false
En este caso, no es realmente necesario porque sabemos que typeof
siempre devuelve una cadena, pero es una buena práctica y si se utiliza a fondo y consistentemente, es más claro dónde realmente quieres tener coerción de tipo y dónde no.
Observe cómo Felix usó el operador! == en lugar de! =. Douglas Crockford explica esto (y otros datos impresionantes de JS) aquí: http://video.yahoo.com/watch/630959/2974197 – danjah