¿Por qué es que las variables de Javascript se crean indefinidas incluso si no pasan la sentencia if?
Toma esto por ejemplo.
if (b) b = 1;
Error de referencia. b no está definido. Tiene sentido pero si hago esto ...
if (b) var b = 1;
Me quedo indefinido en la consola. y ahora, cuando miro hacia arriba, qué b es se muestra como indefinido.
Si trato de hacer lo mismo si la declaración de nuevo, no pasa porque b no es ni verdadera ni falsa, no está definida, pero supongo que mi pregunta es ¿por qué aparece como indefinida? ¿Javascript pasa por la sentencia if, independientemente de si la sentencia if pasa o falla? Gracias.