<div dir="ltr">I guess you haven't read the following code that does that in ES5 fashion :-)<div><br></div><div>mixing up syntax</div><div><br></div><div>```</div><div>Object.defineProperty(</div><div>  Function.prototype,</div>
<div>  'new',</div><div>  {</div><div>    configurable: true,</div><div>    get: function () {</div><div>      return Object.defineProperty(</div><div>        this,</div><div>        'new',</div><div>        {value: <span style="font-family:arial,sans-serif;font-size:13px">(...args)=>new this(...args)</span>}</div>
<div>      ).new;</div><div>    }</div><div>  }</div><div>);</div><div>```</div><div><br></div><div>But since most of the world of JS is scared to death since ES3 era to extend natives prototypes, wouldn't be nice to spec it as such natively in ES6 or ES7 ?</div>
<div><br></div><div>Regards</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 21, 2014 at 5:28 PM, Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com" target="_blank">allen@wirfs-brock.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On Aug 20, 2014, at 7:30 PM, Andrea Giammarchi wrote:<br>
<br>
> I like the `Function.prototype.new` hint but unless it's an implicitly<br>
> self bound method you still cannot easily pass it around as callback<br>
> for a map without binding it all over.<br>
><br>
> `arr.map(MyClass.new)` without needing to explicitly bind it each time<br>
> is needed/used would be an exception, but probably a good one.<br>
<br>
</div>true, but you can write:<br>
<br>
arr.map((...a)=>new Map(...a));<br>
<br>
or define:<br>
<br>
Object.assign(Function.prototype, {<br>
   get asFactory() {return (...args)=>new this(...args)}<br>
}<br>
<br>
so you can say:<br>
<br>
arr.map(MyClass.asFactory)<br>
<span class="HOEnZb"><font color="#888888"><br>
Allen<br>
</font></span></blockquote></div><br></div>