const userDetails = {
name: "John Doe",
age: 14,
verified: false
};
// using Equality *******************************************//
const newUser = userDetails;
//newUser.name= "Abhishek";
// console.log('Created using equality',newUser);
// console.log('Main object',userDetails);
// using Spread *******************************************//
let cloneUser = { ...userDetails };
// console.log('clone user',cloneUser);
// cloneUser.name = "Abhishek"
// console.log('clone user',cloneUser);
// console.log('main user after chaning clone',userDetails);
// Cloning the Object with Object.assign() Method***********
// let assignObj = Object.assign({}, userDetails);
// console.log('assign object',assignObj);
// assignObj.name = "Abhishek"
// console.log('assign user',assignObj);
// console.log('main user after chaning clone',userDetails);
//Cloning the object using JSON.parse
const deepObj = {
name: "John Doe",
age: 14,
status: {
verified: false,
}
};
let spreadUser={...deepObj};
// spreadUser.name="Abhiskhe";
// console.log('Spread user',spreadUser);
// console.log('deep user',deepObj);
// let deepclone=JSON.parse(JSON.stringify(deepObj));
// deepclone.status.verified=true;
// console.log('deep clone ',deepclone);
// console.log('deep user',spreadUser);
// ISSUE WIth DEep Clone
const Deepobjects = {
name: "John Doe",
age: 14,
status: {
verified: false,
method: function(){
console.log('In object function')
},
title: undefined,
}
};
// Cloning the Object with Spread Operator
let jsonobject = JSON.parse(JSON.stringify(Deepobjects));
console.log(jsonobject);