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:
-
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};
-
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);
- JSON ilə serializasiya və deserializasiya (yalnız funksiyalar, tarixlər və s. olmayan sadə obyektlər üçün işləyir):
-
Ö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.