Immutability: Copy
by cferdinandi
JavaScript
/**
* Arrays
*/
var arr1 = ['sandwich', 'soda', 'chips'];
var arr2 = arr1.slice();
// Push an item to array 2
arr2.push('cookie');
// logs ["sandwich", "soda", "chips"]
console.log(arr1);
// logs ["sandwich", "soda", "chips", "cookie"]
console.log(arr2);
/**
* Objects
*/
var obj1 = {
sandwich: 'turkey',
soda: 'Pepsi',
chips: 'Cape Cod'
};
var obj2 = JSON.parse(JSON.stringify(obj1));
// Add an item to object 2
obj2.cookie = 'chocolate chip';
// logs {sandwich: "turkey", soda: "Pepsi", chips: "Cape Cod"}
console.log(obj1);
// logs {sandwich: "turkey", soda: "Pepsi", chips: "Cape Cod", cookie: "chocolate chip"}
console.log(obj2);