Lingua-e
JavaScript

¿Qué significa Desestructuración de undefined?

← Errores

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.

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ómo solucionarlo

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.

Código corregido

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

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