Sobes.tech
Middle

Aké spôsoby klonovania objektov poznáš?

sobes.tech AI

Odpoveď od AI

Existuje niekoľko spôsobov klonovania objektov v JavaScripte:

  1. 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};
      
  2. 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);
      
  3. 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é.