Without using any additional libraries, how I can I create an immutable copy of an object and retain a mutable copy.
var mutableCopy = immutableData;
Object.freeze(immutableData);
mutableCopy.newProp = 'mutated!';
console.log(mutableCopy.hasOwnProperty('newProp')); // false
It seems that Object.freeze() also freezes objects by reference.
How can I create a mutable and immutable copy of an object?