Sobes.tech
Middle

Koje metode kloniranja objekata poznaješ?

sobes.tech АИ

Одговор од АИ

Postoji nekoliko načina za kloniranje objekata u JavaScript-u:

  1. Površno kopiranje (shallow copy) — kopira samo gornji nivo svojstava, ugnježdeni objekti ostaju kao reference.

    • Korišćenje Object.assign():
      const clone = Object.assign({}, original);
      
    • Spread operator:
      const clone = {...original};
      
  2. Duboko kopiranje (deep copy) — pravi potpunu kopiju objekta sa svim ugnježdenim objektima.

    • Serijalizacija i deserijalizacija putem JSON-a (radi samo sa jednostavnim objektima bez funkcija, datuma itd.):
      const deepClone = JSON.parse(JSON.stringify(original));
      
    • Korišćenje specijalizovanih biblioteka, na primer lodash:
      const _ = require('lodash');
      const deepClone = _.cloneDeep(original);
      
  3. Implementacija sopstvene metode kloniranja — ako objekat sadrži metode ili složene tipove, može se implementirati metoda clone() unutar klase.

Izbor metode zavisi od strukture objekta i zahteva za kopiranjem. Za jednostavne objekte dovoljna je površna kopija, za složenije — duboka kopija.