Lingua-e
← Errores
JavaScript

Qué significa Spread sobre valor no iterable y cómo solucionarlo

Referencia del error

Spread sobre valor no iterable

Lenguaje

JavaScript

Severidad

Media

Cuándo ocurre

Este TypeError se lanza cuando el operador spread (...) se usa en un valor que no implementa el protocolo iterable.

Posibles soluciones

Protege el valor antes del spread con un fallback: [...(value ?? [])]. Verifica que las respuestas de API que deberían ser arrays lo sean realmente. Usa Array.isArray() para validar antes del spread. Recuerda: el spread de objeto ({...obj}) y el spread de array ([...arr]) tienen requisitos diferentes.

Más detalles

Este TypeError se lanza cuando el operador spread (...) se usa en un valor que no implementa el protocolo iterable. Los arrays, cadenas, Sets y Maps son iterables; los objetos planos, null, undefined y los números no lo son.

Por qué ocurre

  • •Aplicar spread a null o undefined en un literal de array.
  • •Aplicar spread a un objeto plano ({}) en un contexto de array (solo funciona en spread de objeto).
  • •Aplicar spread a un valor de una API que devolvió null en lugar de un array.
  • •Intentar aplicar spread a un número o valor booleano.

Posibles soluciones

Protege el valor antes del spread con un fallback: [...(value ?? [])]. Verifica que las respuestas de API que deberían ser arrays lo sean realmente. Usa Array.isArray() para validar antes del spread. Recuerda: el spread de objeto ({...obj}) y el spread de array ([...arr]) tienen requisitos diferentes.

Ejemplos

JavaScript

Código que causa el error

const a = [1, 2];
const b = null;
const merged = [...a, ...b];

Error en la terminal

TypeError: b is not iterable

Código corregido

const a = [1, 2];
const b = null;
const merged = [...a, ...(b ?? [])];
console.log(merged); // [1, 2]

Practica en inglés

¿Cómo le explicarías un Spread Non-Iterable 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