Shallow Copy and Deep Copy in JavaScript

JavaScript mein, objects aur arrays ko copy karne ke do tareeqe hote hain:   shallow copy aur deep copy. Yeh dono tareeqe mukhtalif situations mein use hote hain aur inke kuch unique features hain.        


Shallow Copy

Shallow copy sirf object ya array ke top-level elements ko copy karta hai. Agar original object ya array mein nested objects ya arrays hain, to shallow copy mein inka reference hi copy hota hai, na ke actual nested objects.        
Code Example:
let originalArray = [1, 2, 3, { a: 1, b: 2 }]; 
let shallowCopy = [...originalArray]; 
shallowCopy[3].a = 99; 
console.log(originalArray);  // Output: [1, 2, 3, { a: 99, b: 2 }]
console.log(shallowCopy);  // Output: [1, 2, 3, { a: 99, b: 2 }]        

Deep Copy

Deep copy poore object ya array ko copy karta hai, including all nested objects aur arrays. Matlab, deep copy mein, har level par new objects create hote hain aur koi bhi references original object ya array se share nahi hote.        
Code Example:
let originalArray = [1, 2, 3, { a: 1, b: 2 }];
let deepCopy = JSON.parse(JSON.stringify(originalArray)); 
deepCopy[3].a = 99; 
console.log(originalArray);  // Output: [1, 2, 3, { a: 1, b: 2 }]
console.log(deepCopy);      // Output: [1, 2, 3, { a: 99, b: 2 }]        

Shallow Copy Banane ke Methods

  • Spread Operator (...):

let shallowCopy = [...originalArray];        

  • Object.assign():

let shallowCopy = Object.assign({}, originalObject);        

Deep Copy Banane ke Methods

  • JSON.parse() aur JSON.stringify():

let deepCopy = JSON.parse(JSON.stringify(originalObject));        

  • Lodash Library (agar deeply nested objects hain):

let _ = require('lodash');
let deepCopy = _.cloneDeep(originalObject);        

Conclusion

Shallow copy aur deep copy ka samajhna zaroori hai jab aap JavaScript mein objects aur arrays ke saath kaam kar rahe hote hain. Shallow copy tezi se kaam karta hai, lekin nested objects ko theek tarah se handle nahi karta. Deep copy zyada reliable hai, lekin yeh slow ho sakta hai agar aapke paas bahut zyada nested objects hon. Dono tareeqon ko use karna specific scenario par depend karta hai.


要查看或添加评论,请登录

Bazed Gul的更多文章

  • HTTP & HTTPS and their Methods

    HTTP & HTTPS and their Methods

    HTTP (Hypertext Transfer Protocol) aur HTTPS (Hypertext Transfer Protocol Secure). Security: -> HTTP: Ye protocol…

社区洞察

其他会员也浏览了