questo frammento si traduce in un errore di runtime JavaScript: (foo
non è definito)L'uso di variabili non definite in se-dichiarazioni
if (foo) {
// ...
}
devo definire foo
prima, in questo modo:
var foo = foo || null // or undefined, 0, etc.
... E solo allora posso fare:
if (foo) {
// ...
}
Perché è quello?
Aggiornamento:
Questo è stato un po 'un brainfart sul mio lato delle cose: 'fcourse non è possibile accedere a una variabile che non è allocato.
Cose divertenti che puoi fare un typeof() su una variabile indefinita tu. Accetterò la risposta di miccet poiché penso che sia la soluzione più elegante.
[Questo] articolo (http://2ality.com/2013/04/check-undefined.html) 2ality menzioni diverso consigliata modi per controllare _undefined_, incluso interpretarlo come _falsy_ in contesti booleani. – martieva