Jaký je nejvhodnější způsob testování, zda je proměnná v jazyce JavaScript nedefinovaná? Viděl jsem několik možných způsobů:
if (window.myVariable)
Nebo
if (typeof(myVariable) != "undefined")
Nebo
if (myVariable) //This throws an error if undefined. Should this be in Try/Catch?
Musíte použít typeof
.
if (typeof something != "undefined") {
// ...
}
Pokud je nedefinovaný, nebude se rovnat řetězci, který obsahuje znaky "undefined", protože řetězec není nedefinovaný.
Můžete zkontrolovat typ proměnné:
if (typeof(something) != "undefined") ...
Někdy ani nemusíte typ kontrolovat. Pokud se hodnota proměnné při jejím nastavení nemůže vyhodnotit jako false (například pokud se jedná o funkci), můžete proměnnou prostě vyhodnotit. Příklad:
if (something) {
something(param);
}