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));