¿Cuál es la forma más adecuada de comprobar si una variable es indefinida en JavaScript? He visto varias formas posibles:
if (window.myVariable)
O
if (typeof(myVariable) != "undefined")
O
if (myVariable) //This throws an error if undefined. Should this be in Try/Catch?
Es necesario utilizar typeof
.
if (typeof something != "undefined") {
// ...
}
Si es undefined, no será igual a una cadena que contenga los caracteres "undefined", ya que la cadena no es undefined.
Puede comprobar el tipo de la variable:
if (typeof(something) != "undefined") ...
A veces ni siquiera es necesario comprobar el tipo. Si el valor de la variable no puede evaluarse como falso cuando se establece (por ejemplo, si es una función), entonces puede simplemente evaluar la variable. Ejemplo:
if (something) {
something(param);
}