Repaso
English
Frontend y webIntermedioFE-02

¿Qué se registra en consola?

console.log(a);
var a = 1;

Opciones

  1. 1
  2. undefined (Opción correcta)
  3. ReferenceError
  4. null

Respuesta

undefined

Por qué

Antes de ejecutar el código, JavaScript mueve las declaraciones al inicio de su scope ('hoisting'). var a se eleva y queda en undefined; la asignación = 1 se queda donde está.

Así que el código se comporta como: var a; console.log(a); a = 1; → undefined.

Con let o const obtendrías un ReferenceError: también se elevan, pero no se pueden usar antes de su línea (la 'temporal dead zone').

Recuerda

var se eleva como undefined; let/const lanzan error si se usan antes.

Términos clave

Practica esta pregunta en Repaso