JSFiddle - React, Tailwind, and code Playground
by Alexander
JavaScript
console.clear();
function falseClone(obj) {
return obj;
}
function clone1(obj) {
return JSON.parse(JSON.stringify(obj));
}
// IE9+
function clone2(obj) {
return Object.create(obj);
}
// ES6, Firefox, polyfill
function clone3(obj) {
return Object.assign({}, obj);
}
var src = {
a: 1234,
b: 'abc',
foo: function(a) { return a + 'abc' }
},
dest;
//dest = falseClone(src);
//dest = clone1(src);
//dest = clone2(src);
dest = clone3(src);
dest.a = 456;
console.log(src === dest);
console.log(src.a);
console.log(dest.a);
console.log(dest.foo(123));