"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Copia superficial versus profunda de objetos en JavaScript

Copia superficial versus profunda de objetos en JavaScript

Publicado el 2024-11-08
Navegar:987

Shallow vs Deep Copy of Objects in JavaScript

Cuando necesitamos copiar un objeto a otro objeto, generalmente usamos algo como esto:


const mainObject = { id: 1 };
const secondaryObject = { ...mainObject };


Pero esto solo funciona para copiar las propiedades superficiales del objeto. Si tenemos un caso como el siguiente código, el escenario cambia:


const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } };
const secondaryObject = { ...mainObject };


El usuario de la propiedad no será copiado; seguirá estando relacionado con mainObject. Entonces, si modificamos la propiedad del usuario, también afectará a mainObject. Para solucionar esto, podemos hacer lo siguiente:


const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } };
const deepCopy = JSON.parse(JSON.stringify(mainObject ));


Ahora tenemos una copia profunda de mainObject, con dos direcciones de memoria distintas.

Declaración de liberación Este artículo se reproduce en: https://dev.to/claudioguedes/shallow-vs-deep-copy-of-objects-in-javascript-3d2o?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3