Lingua-e
← Errores
JavaScript

Qué significa ReferenceError y cómo solucionarlo

Referencia del error

ReferenceError

Lenguaje

JavaScript

Severidad

Alta

Cuá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

JavaScript

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...

¿Programando en inglés?

Para arreglar esto, leíste inglés técnico real. Lingua-e tiene ejercicios gratis hechos igual: dailys, code reviews y situaciones reales de trabajo.

Practicar inglés para developers gratis