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