Referencing `super`

Rick Waldron waldron.rick at
Tue Aug 5 21:50:24 PDT 2014

On Wed, Aug 6, 2014 at 12:38 AM, Rick Waldron <waldron.rick at>

> On Tuesday, August 5, 2014, Domenic Denicola <domenic at>
> 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:

Note: I don't mean to imply that any of the examples I gave here are
innovative either, they all copy the design (in a quasi-super-via-API way)
and semantics that exist in other languages and I'd bet specifically Ruby.
(Python requires the fully qualified name, which should be proof that JS
has it right by allowing both forms)


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.
> Rick
> [0]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list