Skip to content

Instantly share code, notes, and snippets.

@seaneagan
Created May 25, 2011 16:45
Show Gist options
  • Save seaneagan/991328 to your computer and use it in GitHub Desktop.
Save seaneagan/991328 to your computer and use it in GitHub Desktop.
Adds Object.extend which copies property definitions from one object to another
Object.defineProperty(Object, "extend", {
"configurable": true,
"enumerable": false,
"value": function (object, extension) {
// throw if either is not an object
if(object !== Object(object)) {throw new TypeError;}
if(extension !== Object(extension)) {throw new TypeError;}
// copy property descriptors from extension to object
Object.getOwnPropertyNames(extension).forEach(function (propertyName) {
Object.defineProperty(object, propertyName, Object.getOwnPropertyDescriptor(extension, propertyName));
});
},
"writable": true
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment