Lingua-e
← Errores
JavaScript

Qué significa Cannot Set Property of Undefined y cómo solucionarlo

Referencia del error

Cannot Set Property of Undefined

Lenguaje

JavaScript

Severidad

Alta

Cuándo ocurre

Este TypeError se lanza cuando intentas asignar una propiedad a un valor que es undefined.

Posibles soluciones

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.

Más detalles

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

Posibles soluciones

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.

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ódigo corregido

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

Practica en inglés

¿Cómo le explicarías un Cannot Set Property of Undefined 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