Immutability: Function
by cferdinandi
JavaScript
/**
* Arrays
*/
var arr1 = function () {
return ['sandwich', 'soda', 'chips'];
};
var arr2 = arr1();
// 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 = function () {
return {
sandwich: 'turkey',
soda: 'Pepsi',
chips: 'Cape Cod'
};
};
var obj2 = 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);