A menudo veo código JavaScript que comprueba parámetros indefinidos, etc. de esta manera:
if (typeof input !== "undefined") {
// do stuff
}
Esto parece un poco despilfarrador, ya que implica tanto una búsqueda de tipo como una comparación de cadenas, sin mencionar su verbosidad. Sin undefined
embargo, es necesario porque podría renombrarse.
Mi pregunta es:
¿Cómo es ese código mejor que este enfoque?
if (null != input) {
// do stuff
}
Hasta donde sé, no puedes redefinir null
, por lo que no se romperá inesperadamente. Y, debido a la coerción de tipo del !=
operador, esto comprueba ambos undefined
y null
... que a menudo es exactamente lo que desea (por ejemplo, para parámetros de función opcionales).
Sin embargo, esta forma no parece generalizada e incluso hace que JSLint te grite por usar el !=
operador maligno .
¿Por qué esto se considera mal estilo?
if (null != input)
es solo "Yoda Speak" para el hablante de inglés (de uno soy ... uuammmmm) así que si equivalen a lo mismo, en realidad es solo semántica. EN MI HUMILDE OPINIÓN.