Middle
რომელი ობიექტების კლონირების მეთოდებს იცნობ?
sobes.tech AI
პასუხი AI-სგან
JavaScript-ი ობიექტების კლონირების რამდენიმე გზა არსებობს:
-
ზედაპირული კოპირება (shallow copy) — კოპირებს მხოლოდ თვისებების ზედა დონეს, შიგნით არსებული ობიექტები რჩება მითითებებად.
- გამოყენებით
Object.assign():const clone = Object.assign({}, original); - Spread ოპერატორი:
const clone = {...original};
- გამოყენებით
-
ღრმა კოპირება (deep copy) — ქმნის ობიექტის სრული კოპიას ყველა შიგნით არსებულ ობიექტებთან ერთად.
- სერილიზაცია და დესერილიზაცია JSON-ის მეშვეობით (მუშაობს მხოლოდ მარტივ ობიექტებთან, ფუნქციების, თარიღების გარეშე):
const deepClone = JSON.parse(JSON.stringify(original)); - სპეციალიზებული ბიბლიოთეკების გამოყენება, მაგალითად
lodash:const _ = require('lodash'); const deepClone = _.cloneDeep(original);
- სერილიზაცია და დესერილიზაცია JSON-ის მეშვეობით (მუშაობს მხოლოდ მარტივ ობიექტებთან, ფუნქციების, თარიღების გარეშე):
-
საკუთარი კლონირების მეთოდის განხორციელება — თუ ობიექტი შეიცავს მეთოდებს ან რთულ ტიპებს, შესაძლებელია
clone()მეთოდის განხორციელება კლასის შიგნით.
მეთოდის არჩევა დამოკიდებულია ობიექტის სტრუქტურაზე და კოპირების მოთხოვნებზე. მარტივ ობიექტებისთვის საკმარისია ზედაპირული კოპირება, რთულებისთვის — ღრმა.