Deep Clone con JSON parse (deprecado)
Mientras que spread
no se mejore para duplicar profundamente objetos o arrays, deberíamos realizar
esta función para hacer un copiado correcto y profundo.
const deepCopied = JSON.parse(JSON.stringify(obj));
Deep Clone (versión 2024)
Es mejor utilizar la versión integrada que ya viene con los navegadores, structuredClone
. Permite clonar objetos
sin preocuparnos de las referencias circulares. La anterior versión llamaba a .toString
para cada uno de los objetos.
const deepCopied = structuredClone(obj);
// Clona completamente el objeto sin problemas de redundancia cíclica
Documentación: SstructuredClone() global function