este fragmento da lugar a un error de ejecución de JavaScript: (foo
no está definido)El uso de variables no definidas en las sentencias if
if (foo) {
// ...
}
tengo que definir foo
primero, así:
var foo = foo || null // or undefined, 0, etc.
... Y solo entonces puedo hacerlo:
if (foo) {
// ...
}
¿Por qué es eso?
Actualización:
Esto fue algo de un Brainfart en mi lado de las cosas: 'fcourse no puede acceder a una variable que no se ha asignado.
Cosas divertidas que puede hacer un typeof() en una variable indefinida tú. Voy a aceptar la respuesta de miccet, ya que creo que es la solución más elegante.
[Esto] artículo (http://2ality.com/2013/04/check-undefined.html) 2ality menciones diferentes recomendada formas de verificar _undefined_, incluso interpretarlo como _falsy_ en contextos booleanos. – martieva