On Nov 17, 2011, at 3:47 PM, Jake Verbaten wrote:

> On Thu, Nov 17, 2011 at 11:39 PM, Brendan Eich <[email protected]> wrote:
> On Nov 17, 2011, at 3:31 PM, Allen Wirfs-Brock wrote:
> 
> > We can debate whether Default Constructors should do a:
> >     if (super.constructor isnt Object) super.constructor()
> > but that is a more basic question about whether constructors (default or 
> > otherwise) should always do implicit super calls.
> 
> We should debate. What do you think?
> 
> Personally I cannot think of any examples where this functionality would be 
> unwanted.
> 
> This debate will probably depend on the counter examples where invoking the 
> super constructor implicitly is unwanted behavior.
> 
> An argument for doing this is that you can use initialize or some other name 
> for constructor like functions that don't implicitly make super calls.

In general, you don't want a constructor to automatically do 
    super.constructor(...args) because a "sub-exemplar" may use a different 
argument signature from its "super-exemplar".

For this reason, my first reaction was:  If we don't (and we shouldn't) do an 
implicit super.constructor(...args) call for things like:
  {constructor() {} }
then we also should not do it for the [[DefaultConstructor]] created for { }.   
 However, I think I'm wavering.  The programmer hasn't actually written any 
code so there isn't a "different argument signature" to worry about. so, may it 
would be ok to do a not to Object super.constructor call.

Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to