Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

68
Views
Difundir la sintaxis en una matriz de objetos

Tengo una pregunta sobre la sintaxis extendida y una serie de objetos.

Tener una matriz de objetos como:

 const array = [{age:50}, {age:27}]

De acuerdo con esta respuesta: https://stackoverflow.com/a/54138394/6781511 , el uso de la sintaxis extendida dará como resultado que referencedArray tenga una copia superficial de array .

 const referencedArray = [...array]

Entonces, ¿cuál es la diferencia entre usar la sintaxis extendida y no usarla?

 const referencedArray = [...array]

contra

 const referencedArray = array
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Vea el siguiente ejemplo.

Cuando realiza una copia superficial, la asignación a un elemento del original no afecta al clon. Cuando no haces una copia, la asignación al original afecta a la otra referencia.

Dado que es una copia superficial, la asignación de propiedades de los objetos en la matriz los afecta a todos. Solo se copió la matriz mediante la difusión, no los objetos.

 const array = [{age:50}, {age:27}]; const clonedArray = [...array]; const notClonedArray = array; array[0] = {age: 100}; array[1].age = 30; console.log("Original:", array); console.log("Cloned:", clonedArray); console.log("Not cloned:", notClonedArray);

about 4 years ago · Juan Pablo Isaza Report

0

Los objetos dentro de las matrices tienen la misma referencia en ambos, pero en el escenario extendido, la modificación de la matriz no afectará al original.

 const array = [{ name: 'Joe' }, { name: 'Paul' }]; const spreadArray = [...array]; const cloneArray = array; spreadArray[3] = { name: 'Bob' }; console.log(array); // [{ name: 'Joe' }, { name: 'Paul' }]; cloneArray[3] = { name: 'Bob' }; console.log(array); // [{ name: 'Joe' }, { name: 'Paul' }, { name: 'Bob'} ];

Esto se debe a que cloneArray se asigna por referencia a array , mientras que spreadArray se asigna a una nueva matriz con los mismos elementos que array . por eso también

 cloneArray === array; // true spreadArray === array; // false
about 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!