Qual è il modo più appropriato per verificare se una variabile è indefinita in JavaScript? Ho visto diversi modi possibili:
if (window.myVariable)
Oppure
if (typeof(myVariable) != "undefined")
Oppure
if (myVariable) //This throws an error if undefined. Should this be in Try/Catch?
Dovete usare typeof
.
if (typeof something != "undefined") {
// ...
}
Se è indefinito, non sarà uguale a una stringa che contiene i caratteri "undefined", poiché la stringa non è indefinita.
Potete controllare il tipo della variabile:
if (typeof(something) != "undefined") ...
A volte non è nemmeno necessario controllare il tipo. Se il valore della variabile non può essere valutato come falso quando è impostato (per esempio se è una funzione), allora si può semplicemente valutare la variabile. Esempio:
if (something) {
something(param);
}