<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>I think there's probably still wiggle room. Perhaps in the future, new() could be added with additional semantics... </div>
</div></blockquote><div><br></div><div>This may be a possibility.  Presumably in such a future it would be a static error to have both a "constructor" and a "new".</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div>Anyway, unless we are going to really make classes distinct from functions, I'm not sure how we could enforce super in the way you describe without affecting it in other forms. Can you only extend classes created using "class" syntax?</div>
</div></blockquote><div><br></div><div>No - any function (constructor) can be to the right of "extends".  Again, not necessarily arguing the case either way, but if in some future there were field initializers then they would presumably be at the top of the desugared constructor:</div>
<div><br></div><div>function _ctor(a, b, c) {</div><div>    // super constructor call?</div><div>    // execute field initializers</div><div>    // "new" / "constructor" body</div><div>}</div><div><br>
</div><div>kevin</div></div>