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

Reply via email to