Middle
Koje metode kloniranja objekata poznaješ?
sobes.tech АИ
Одговор од АИ
Postoji nekoliko načina za kloniranje objekata u JavaScript-u:
-
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};
- Korišćenje
-
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);
- Serijalizacija i deserijalizacija putem JSON-a (radi samo sa jednostavnim objektima bez funkcija, datuma itd.):
-
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.