| super is a nightmare to emulate and get "right". It has a bunch of weird edge cases you don't really want to think about. I promote code like var Cat = Object.make(Animal, {
constructor: function() {
Animal.constructor.apply(this, arguments);
...
},
walk: function() {
Animal.walk.apply(this, arguments);
...
}
});
Now compare:- Animal.walk.apply(this, arguments); - this.super.apply(this, arguments); - this.super.walk.apply(this, arguments); Using super doesn't fix verbosity, it only fixes hard coupling of Child class name to Super class name. For the complexities, edge cases and performance penalties a super implementation gives, it's simply not worth fixing this hard coupling. If you know of a super implementation that _just works_ please [Leave an answer on StackOverflow](http://stackoverflow.com/questions/8032566/emulate-super-in-...) |
Are there any real advantages to the "set the prototype to this object" approach versus building it up by assigment?