Rick Waldron wrote:
On Tuesday, August 5, 2014, Domenic Denicola
<[email protected] <mailto:[email protected]>> wrote:
I sympathize; I have always found the fact that bare `super()`
works to be confusing.
When a bare super() call appears in a method (whether constructor or
not) it can only have _one_ _meaning_ and that's a call to a method of
the same name in the parent class. This isn't particularly innovative:
John Resig's Simple JavaScript Inheritance[0]—arguably one of the most
widely used (many clones, forks and spin-offs exist) "abstract class"
techniques—provides `this._super()` which does the same thing that ES6
super() does. This pattern existed before and has been repeated
throughout many libraries that have stood out over the years:
Prototype, Dojo, Ext.js and certainly others. CoffeeScript implements
super() this way as well.
CoffeeScript imitated Ruby here.
Smalltalk had super rather than self sends, but you had to send with the
full selector (think method name). Java has super() in constructors but
requires super.method() in methods. I'm cool with super() in methods, I
forgot we disallowed naked `super`, and my gut says we would support it
as equivalent to `this`.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss