Lingua-e
← Errores
JavaScript

Qué significa Desestructuración de undefined y cómo solucionarlo

Referencia del error

Desestructuración de undefined

Lenguaje

JavaScript

Severidad

Alta

Cuándo ocurre

Este TypeError ocurre cuando intentas desestructurar propiedades de un valor que es null o undefined.

Posibles soluciones

Proporciona un fallback con nullish coalescing: const { x } = getValue() ?? {}. Agrega un valor predeterminado en la firma de la función: function fn({ x = 0 } = {}). Siempre inicializa el estado a un objeto vacío en lugar de undefined al esperar datos asíncronos.

Más detalles

Este TypeError ocurre cuando intentas desestructurar propiedades de un valor que es null o undefined. La desestructuración requiere que el lado derecho sea un objeto o array; null y undefined no pueden desestructurarse.

Por qué ocurre

  • •Una función o llamada a API devuelve undefined cuando se esperaba un objeto.
  • •Una obtención de datos asíncrona aún no se ha resuelto y el estado sigue siendo undefined.
  • •Una ruta de retorno condicional deja el valor undefined en algunos casos.
  • •Desestructuración desde un parámetro de función opcional que no fue proporcionado.

Posibles soluciones

Proporciona un fallback con nullish coalescing: const { x } = getValue() ?? {}. Agrega un valor predeterminado en la firma de la función: function fn({ x = 0 } = {}). Siempre inicializa el estado a un objeto vacío en lugar de undefined al esperar datos asíncronos.

Ejemplos

JavaScript

Código que causa el error

function getUser() {
  return undefined;
}
const { name, email } = getUser();

Error en la terminal

TypeError: Cannot destructure property 'name' of undefined as it is undefined.

Código corregido

function getUser() {
  return undefined;
}
const { name, email } = getUser() ?? {};
console.log(name); // undefined (no throw)

Practica en inglés

¿Cómo le explicarías un Destructuring Undefined 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