Lingua-e
JavaScript

¿Qué significa Cannot Set Property of Undefined?

← Errores

Este TypeError se lanza cuando intentas asignar una propiedad a un valor que es undefined. A diferencia de leer una propiedad de undefined, escribir en él nunca se ignora silenciosamente: siempre lanza inmediatamente.

Por qué ocurre

  • Una variable se declara pero nunca se asigna a un objeto antes de la asignación de propiedades.
  • Una función devuelve undefined cuando se esperaba que devolviera un objeto.
  • Una operación asíncrona aún no ha completado y el resultado sigue siendo undefined.
  • Un error tipográfico en el nombre de una variable referencia el enlace incorrecto (undefined).

Ejemplos

JavaScript

Código que causa el error

let user;
user.name = "Alice";

Error en la terminal

TypeError: Cannot set properties of undefined (setting 'name')

Cómo solucionarlo

Inicializa las variables a un objeto vacío ({}) o el valor predeterminado apropiado antes de asignar propiedades. Usa optional chaining (?.) para leer, pero recuerda que no ayuda para escribir. Agrega verificaciones de null o valores predeterminados cuando una función pueda devolver undefined.

Código corregido

let user = {};
user.name = "Alice";
console.log(user.name); // "Alice"

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