Lingua-e
JavaScript

¿Qué significa Cannot read properties of undefined?

← Errores

Este error se lanza en JavaScript cuando intentas acceder a una propiedad sobre un valor que es undefined. undefined no tiene propiedades, por lo que cualquier acceso a una propiedad sobre él lanza inmediatamente un TypeError. Es uno de los errores en tiempo de ejecución más frecuentes en proyectos JavaScript.

Por qué ocurre

  • Una función devuelve undefined (implícita o explícitamente) y quien la llama accede a una propiedad del valor de retorno sin verificarlo.
  • Un índice de array fuera de rango devuelve undefined, y luego se accede a una propiedad sobre él.
  • Una respuesta de API u operación asíncrona aún no se ha resuelto y la variable sigue siendo undefined.
  • Una variable desestructurada que no estaba presente en el objeto fuente toma el valor undefined por defecto.

Ejemplos

JavaScript

Código que causa el error

const user = undefined;
console.log(user.name);

Error en la terminal

TypeError: Cannot read properties of undefined (reading 'name')

Cómo solucionarlo

Usa optional chaining (?.) para acceder de forma segura a propiedades anidadas sin lanzar errores. Agrega verificaciones de null o undefined antes de acceder a propiedades cuando no puedes garantizar que el valor exista. Activa el modo estricto de TypeScript para detectar estos problemas en tiempo de compilación.

Código corregido

const user = undefined;

// Option 1: guard with a check
if (user !== undefined && user !== null) {
  console.log(user.name);
}

// Option 2: optional chaining
console.log(user?.name);  // undefined, no error

Errores relacionados

¿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