Skip to content

Instantly share code, notes, and snippets.

@siddharth-sunchu
Created June 26, 2021 23:12
Show Gist options
  • Save siddharth-sunchu/612b8a9f2999f8c4b490a5ce19b0bb44 to your computer and use it in GitHub Desktop.
Save siddharth-sunchu/612b8a9f2999f8c4b490a5ce19b0bb44 to your computer and use it in GitHub Desktop.
const employee = {
name: 'Siddharth',
age: 30,
salary: {
annual: '100K',
hourly: '$50'
}
};
const copyOfEmployee = {...employee};
console.log('employee => ', employee);
console.log('copyOfEmployee => ', copyOfEmployee);
/*
employee => {
name: 'Siddharth',
age: 35,
salary: { annual: '100K', hourly: '$50' }
}
copyOfEmployee => {
name: 'Siddharth',
age: 35,
salary: { annual: '100K', hourly: '$50' }
}
*/
console.log('------------After Modification-----------');
copyOfEmployee.name = 'Elon Musk';
copyOfEmployee.salary.annual = '120K';
/*
Here you would expect employee object wouldn't change, but copyOfEmployee
and employee object both share same memory address
*/
console.log('employee => ', employee);
console.log('copyOfEmployee => ', copyOfEmployee);
/*
------------After Modification-----------
employee => {
name: 'Siddharth',
age: 35,
salary: { annual: '120K', hourly: '$50' }
}
copyOfEmployee => {
name: 'Elon Musk',
age: 35,
salary: { annual: '120K', hourly: '$50' }
}
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment