Clonación superficial vs profunda en JavaScript
| Estrategia | Clonación superficial | Clonación profunda | Tipos de datos avanzados | Nativo | Más info |
|---|---|---|---|---|---|
| Asignación = | ❌ No | ❌ No | ❌ No | ✅ Sí | |
Usar Object.assign() | ✅ Sí | ❌ No | ❌ No | ✅ Sí | |
Usar spread ... | ✅ Sí | ❌ No | ❌ No | ✅ Sí | Copias con spread |
Serializar con JSON.parse() | ✅ Sí | ✅ Sí | ⚠️ Solo tipos básicos. No funciones/DOM | ✅ Sí | JSON |
Usar _.cloneDeep() de Lodash | ✅ Sí | ✅ Sí | ⚠️ Tipos avanzados. No DOM | ❌ No | cloneDeep |
Usar structuredClone() | ✅ Sí | ✅ Sí | ⚠️ Tipos avanzados. No funciones/DOM | ✅ Sí | structuredClone |
© Arturo Juárez Monroy