Shallow Copy vs Deep Copy
📋 Asignación Directa
Cuando asignas un array (o un objeto) a una nueva variable, no estás creando una copia nueva. En su lugar, ambos nombres de variables apuntan al mismo array u objeto en la memoria. Esto significa que cualquier cambio realizado a través de una de las variables afectará al array u objeto original.
🌟 Shallow Copy (Copia Superficial)
Una copia superficial crea una nueva referencia para el objeto copiado, pero no copia los objetos anidados. Esto significa que las referencias internas siguen apuntando a los mismos objetos.
🔹 Métodos Comunes
o
original
y copia
comparten el mismo objeto b
🌟 Deep Copy (Copia Profunda)
Una copia profunda crea una copia completamente nueva del objeto, incluyendo todos los objetos anidados. Esto asegura que no haya referencias compartidas entre el original y la copia.
⚠️ Este método no funciona bien con funciones, undefined
, o tipos de datos especiales como Map
y Set
.
🌟 Conclusión
Shallow Copy: Rápido y simple, pero comparte referencias internas.
Deep Copy: Completo e independiente, pero puede ser más lento y complejo de implementar.
Última actualización