<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5"><br>
</div></div>I'd like to understand. Why doesn't it work?<br>
<span class=""><font color="#888888"><br></font></span></blockquote><div><br></div><div>Allen wondered the same, so I'll just paste my reply to him:</div><div><br></div><div style="font-family:arial,sans-serif;font-size:13px">
So I was a little embarrassed about not thinking it through, and wanted to just void the comment.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
But specifically, if the subclass wants to have a different set of constructor arguments than its base class, then presumably the subclass would have to override @@create with that signature.</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">class MyMap extends Map {</div><div style="font-family:arial,sans-serif;font-size:13px">    constructor(a, b, c) { super(); /* other initialization */ }</div>
<div style="font-family:arial,sans-serif;font-size:13px">    static [Symbol.create](a, b, c) { return super(); }</div><div style="font-family:arial,sans-serif;font-size:13px">}</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Is that right?</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">That seems like too much of a burden for the user.  And besides, it pollutes the nice separation of responsibilities that we currently have.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">The current design does posit uninitialized objects, which implementers are obviously uncomfortable with.  Could it be that we just haven't yet developed the implementation techniques for dealing with such uninitialized objects? Or is there a real problem with being able to observe them?</span></div>
<div><br></div></div></div></div>