Qué significa ReferenceError y cómo solucionarlo
Referencia del error
ReferenceError
Lenguaje
Severidad
AltaCuándo ocurre
Un ReferenceError se lanza en JavaScript cuando intentas usar una variable que no ha sido declarada, o cuando accedes a una variable let o const antes de que haya sido inicializada.
Posibles soluciones
Declara todas las variables con let o const al comienzo del scope donde se usan. Evita depender del hoisting de var. Usa un linter (ESLint con no-use-before-define) para detectar problemas de zona muerta temporal durante el desarrollo.
Errores relacionados
Más detalles
Un ReferenceError se lanza en JavaScript cuando intentas usar una variable que no ha sido declarada, o cuando accedes a una variable let o const antes de que haya sido inicializada. Esto frecuentemente es causado por la zona muerta temporal (temporal dead zone) de las declaraciones let/const.
Por qué ocurre
- •Acceder a una variable let o const antes de su línea de declaración (zona muerta temporal).
- •Error tipográfico en el nombre de la variable que no coincide con ninguna variable declarada.
- •Usar una variable en un scope donde no fue declarada.
- •Olvidar declarar una variable con let, const o var.
Posibles soluciones
Declara todas las variables con let o const al comienzo del scope donde se usan. Evita depender del hoisting de var. Usa un linter (ESLint con no-use-before-define) para detectar problemas de zona muerta temporal durante el desarrollo.
Ejemplos
Código que causa el error
console.log(counter);
let counter = 0;Error en la terminal
ReferenceError: Cannot access 'counter' before initialization
Código corregido
let counter = 0;
console.log(counter); // 0
// With var (no ReferenceError but bad practice):
// console.log(count); // undefined (hoisted)
// var count = 0;Practica en inglés
¿Cómo le explicarías un ReferenceError a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis