Skip to content

Instantly share code, notes, and snippets.

@DavidBruant
Created December 10, 2013 15:40
Show Gist options
  • Save DavidBruant/7892647 to your computer and use it in GitHub Desktop.
Save DavidBruant/7892647 to your computer and use it in GitHub Desktop.
clone for @JeremiePat
var obj = {
a: 1,
get b(){ return 2 },
c: 3
}
Object.defineProperty(obj, 'c', {configurable: false, writable: false});
function clone(o){
var c = Object.create(Object.getPrototypeOf(o));
Object.getOwnPropertyNames(o).forEach(function(p){
Object.defineProperty(c, p, Object.getOwnPropertyDescriptor(o, p));
})
return c;
}
console.log(clone(obj))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment