Sobes.tech
Middle

Obyektlərin klonlanması üçün hansı üsulları bilirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript-də obyektləri klonlamağın bir neçə yolu var:

  1. Yüzeysel nüsxə (shallow copy) — yalnız üst səviyyə xüsusiyyətləri kopyalayır, iç içə obyektlər referans olaraq qalır.

    • Object.assign() istifadə edərək:
      const clone = Object.assign({}, original);
      
    • Spread operatoru:
      const clone = {...original};
      
  2. Dərin nüsxə (deep copy) — obyektin tam nüsxəsini, bütün iç içə obyektlərlə birlikdə yaradır.

    • JSON ilə serializasiya və deserializasiya (yalnız funksiyalar, tarixlər və s. olmayan sadə obyektlər üçün işləyir):
      const deepClone = JSON.parse(JSON.stringify(original));
      
    • Xüsusi kitabxanalar istifadə edilə bilər, məsələn lodash:
      const _ = require('lodash');
      const deepClone = _.cloneDeep(original);
      
  3. Öz klonlama metodunuzu tətbiq etmək — obyekt metodlar və ya mürəkkəb tiplər ehtiva edirsə, sinif daxilində clone() metodu tətbiq oluna bilər.

Yöntəm seçimi obyektin quruluşundan və kopyalama tələblərindən asılıdır. Sadə obyektlər üçün yüzeysel kopyalama kifayətdir, mürəkkəb obyektlər üçün isə dərin kopyalama üstünlük təşkil edir.