2010-12-21 9 views

Respuesta

10

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.

+2

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

Cuestiones relacionadas