کپی عمیق در مقابل کپی کم عمق

کپی کم عمق
-
تعریف: یک کپی کم عمق یک شیء یا آرایه جدیدی را ایجاد می کند که دارای همان ویژگی های سطح بالا به عنوان اصلی است. با این حال ، اگر هرگونه خصوصیاتی به اشیاء دیگر مراجعه کند ، فقط منابع کپی می شوند.
-
خصوصیات:
- منابع به اشتراک گذاشته شده است: تغییر در اشیاء یا آرایه های تو در تو در شیء کپی شده بر شیء اصلی تأثیر می گذارد ، زیرا هر دو به محل حافظه یکسان مراجعه می کنند.
-
نمونه:
let original = { a: 1, b: { c: 2 } };
let shallowCopy = { ...original }; // or Object.assign({}, original);
shallowCopy.b.c = 3; // This will also change original.b.c to 3
### هینگلیش
-
تعریف: کپی کم عمق ek naya object ya array banata hai jisme اصلی ki tarah ke خواص سطح بالایی hoti hain. Lekin Agar Koi Properties Dusre Objects ke References Hain ، Toh SiRF منابع کپی Hain.
-
خصوصیات:
-
منابع به اشتراک گذاشته شده: Agar Copied Object Mein Objects Oblays ya arrays ko kiya jaye ، toh yeh object ko bhi تأثیر Karega ، Kyunki Dono Samory Location Karte Hain.
مثال:
let original = { a: 1, b: { c: 2 } };
let shallowCopy = { ...original }; // ya Object.assign({}, original);
shallowCopy.b.c = 3; // Yeh bhi original.b.c ko 3 mein badal dega
کپی عمیق
-
تعریف: یک کپی عمیق یک شیء یا آرایه جدید ایجاد می کند و به صورت بازگشتی تمام خواص موجود از شیء اصلی را کپی می کند ، و اطمینان می دهد که اشیاء تو در تو مستقل هستند.
-
خصوصیات:
نسخه های مستقل: تغییر در اشیاء تو در تو در شیء کپی شده روی شیء اصلی تأثیر نمی گذارد ، زیرا در مکان های مختلف حافظه ذخیره می شوند.Example:
let original = { a: 1, b: { c: 2 } };
let deepCopy = JSON.parse(JSON.stringify(original));
deepCopy.b.c = 3; // This will not change original.b.c
پرنده
-
تعریف: کپی عمیق ek naya object ya array banata hai aur شیء اصلی شیء se sabhi properties ko copy karta hai ، jise اطمینان حاصل کنید که اشیاء توخالی hai ki توخالی نشانگر شاخص های مستقل از شاخص های مستقل
-
خصوصیات:
نسخه های مستقل: شیء کپی شده اشیاء تو در تو در تو در تو تغییر کارن ko ko ko koi asar nahi padta ، kyunki yeh alag مکان های حافظه mein فروشگاه hain.
مثال:
let original = { a: 1, b: { c: 2 } };
let deepCopy = JSON.parse(JSON.stringify(original));
deepCopy.b.c = 3; // Yeh original.b.c ko nahi badlega