• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

193
Views
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é?

over 3 years ago · Juan Pablo Isaza
1 answers
Answer question

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.

over 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!