<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
function F(x) { /* ??? the initial message really isn't explicit about what does here */ };<br>
F[Symbol.new] = {[Symbol.new](x) {  //use an object literal to create a "method" kind of function<br>
    var obj = super();<br>
    obj.foo = x<br>
    }}[Symbol.new].toMethod(F);<br>
<br>
which is quite different from you get for:<br>
<br>
 function F(x) {this.foo=x};<br></blockquote><div><br></div><div>Yes - the proposed semantics are quite different.  The whole thrust of the proposal is to fuse initialization and allocation, which is completely at odds with how user-defined "classes" work in ES5.</div>
<div><br></div><div>I think Allen's suggestion of providing constructor arguments to @@create is promising.  That would allow the implementation to allocate and initialize an object in one go, if desired.  That seems to embody the advantages of fusing initialization and allocation, without the headache for the user.</div>
<div><br></div><div><br></div></div></div></div>