Middle
Aké spôsoby klonovania objektov poznáš?
sobes.tech AI
Odpoveď od AI
Existuje niekoľko spôsobov klonovania objektov v JavaScripte:
-
Povrchové kopírovanie (shallow copy) — kopíruje iba hornú úroveň vlastností, vnorené objekty zostávajú ako odkazy.
- Použitie
Object.assign():const clone = Object.assign({}, original); - Spread operátor:
const clone = {...original};
- Použitie
-
Hlboké kopírovanie (deep copy) — vytvára úplnú kópiu objektu so všetkými vnorenými objektmi.
- Serializácia a deserializácia cez JSON (funguje iba s jednoduchými objektmi bez funkcií, dátumov atď.):
const deepClone = JSON.parse(JSON.stringify(original)); - Použitie špecializovaných knižníc, napríklad
lodash:const _ = require('lodash'); const deepClone = _.cloneDeep(original);
- Serializácia a deserializácia cez JSON (funguje iba s jednoduchými objektmi bez funkcií, dátumov atď.):
-
Implementácia vlastnej metódy klonovania — ak objekt obsahuje metódy alebo zložité typy, môže sa implementovať metóda
clone()v rámci triedy.
Výber metódy závisí od štruktúry objektu a požiadaviek na kopírovanie. Pre jednoduché objekty postačuje povrchové kopírovanie, pre zložité — hlboké.