function dup(o) { return Object.create( Object.getPrototypeOf(o), Object.getOwnPropertyDescriptors(o) ); }
Which depends on ES6 Object.getOwnPropertyDescriptors . You can imitate this. Taken from pd
function getOwnPropertyDescriptors(object) { var keys = Object.getOwnPropertyNames(object), returnObj = {}; keys.forEach(getPropertyDescriptor); return returnObj; function getPropertyDescriptor(key) { var pd = Object.getOwnPropertyDescriptor(object, key); returnObj[key] = pd; } } Object.getOwnPropertyDescriptors = getOwnPropertyDescriptors;
Living example
Converting this to a coffeescript file remains as an exercise for the user. Also note that dup small copies of your own properties.
source share