Middle
Kādus objektu klonēšanas veidus pazīsti?
sobes.tech AI
Atbilde no AI
JavaScript ir ir dažādi veidi, kā klonēt objektus:
-
Virsmas kopēšana (shallow copy) — kopē tikai augšējo īpašību līmeni, iekšējie objekti paliek atsauces.
- Izmantojot
Object.assign():const clone = Object.assign({}, original); - Izplatīšanas operators:
const clone = {...original};
- Izmantojot
-
Dziļa kopēšana (deep copy) — veido pilnu objekta kopiju ar visiem iekšējiem objektiem.
- Serilizācija un deserializācija ar JSON (strādā tikai ar vienkāršiem objektiem bez funkcijām, datumiem utt.):
const deepClone = JSON.parse(JSON.stringify(original)); - Izmantojot specializētas bibliotēkas, piemēram,
lodash:const _ = require('lodash'); const deepClone = _.cloneDeep(original);
- Serilizācija un deserializācija ar JSON (strādā tikai ar vienkāršiem objektiem bez funkcijām, datumiem utt.):
-
Savas klonēšanas metodes īstenošana — ja objekts satur metodes vai sarežģītus tipus, var īstenot
clone()metodi klasē.
Metodes izvēle ir atkarīga no objekta struktūras un kopēšanas prasībām. Vienkāršiem objektiem pietiek ar virsmas kopēšanu, sarežģītākiem — ar dziļu kopēšanu.