Sobes.tech
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:

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