Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
Puede descubrir la diferencia usando el operador de propagación en matriz y objeto en JavaScript

Estoy usando el operador de propagación en una matriz como la siguiente:

 const addOne = false; const arr = [1, 2, 3] const arr1 = [...arr, ...(addOne && [8, 9])]; console.log(arr1)

y tengo el error

 TypeError: (addOne && [8,9]) is not iterable at <anonymous>:4:32

Mientras que si uso el operador de propagación en un objeto como:

 const addOne = false; const obj = { name: 'peter', age: 23 } const obj1 = { ...obj, ...(addOne && obj) } console.log(obj1)

imprime la salida correcta

¿Alguien sabe por qué?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

(false && obj) se evalúa como un valor booleano, por lo que no es iterable.
Al usar el operador de propagación al construir su objeto obj1 , js usa un método diferente para extraer los pares de valores clave de un objeto (recuerde que un valor bool en js sigue siendo un objeto), por lo que no arrojará un error ya que está esperando un objeto como entrada.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda