Skip to content

Instantly share code, notes, and snippets.

@ashnur
Forked from FireyFly/gist:2000920
Created March 17, 2012 17:31
Show Gist options
  • Select an option

  • Save ashnur/2063152 to your computer and use it in GitHub Desktop.

Select an option

Save ashnur/2063152 to your computer and use it in GitHub Desktop.
Object inheritance
var Base = {}
Object.defineProperty(Base, 'extend', {
enumerable: false,
value: function(obj) {
var descs = {}
Object.getOwnPropertyNames(obj).forEach(function(key) {
descs[key] = Object.getOwnPropertyDescriptor(obj, key)
})
return Object.create(this, descs)
}
})
var Foo = Base.extend({
getBar: function() { return this.bar }
})
var foo = Foo.extend({ bar:10 })
console.log(foo.getBar()) // 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment