<div>Another nice place for this syntax would be destructuring: If you want to get the last elements of an array, you might want to simply use</div><div><br></div><div><font face="courier new, monospace">[...arr, foo, bar] = arr;</font></div>

<div><br></div><div><br></div><div>I really like that syntax. And in the end, that's what</div><div><br></div><div><font face="courier new, monospace">function(...arr, foo, bar){…}</font></div><div><br></div><div>is doing. The difference to</div>

<div><br></div><div><font face="courier new, monospace">bar = arr.pop();</font></div><div><font face="courier new, monospace">foo = arr.pop();</font></div><div><br></div><div>is that <font face="courier new, monospace">foo</font> is preferred when only one value is available. Written in the JS of today, you'll need to write</div>

<div><br></div><div><font face="courier new, monospace">if(arr.length > 0){</font></div><div><font face="courier new, monospace">  if(arr.length !== 1){</font></div><div><font face="courier new, monospace">    </font><span style="font-family:'courier new',monospace">bar = arr.pop();</span></div>

<div><font face="courier new, monospace">  }</font><span style="font-family:'courier new',monospace">  </span></div><div><font face="courier new, monospace">  foo = arr.pop();</font> </div><div><font face="courier new, monospace">}</font></div>

<div><br></div><div>And it'll get more complicated with every added variable.</div><div><br></div><div>It's quite interesting that Herby used that syntax with the only feedback being that he can't use destructuring at that place :D</div>

<div><br></div><div>@Rick: I don't get your point. Of course, <font face="courier new, monospace">undefined</font> should be treated as any other value, everything else would be confusing. Or what were you referring to?</div>

<div><br></div><div>As I've already written, parameters after rest can't have default values, which (partially) fixes the issue of optional parameters.</div><div><br></div><div><div class="gmail_quote">2012/6/12 T.J. Crowder <span dir="ltr"><<a href="mailto:tj@crowdersoftware.com" target="_blank">tj@crowdersoftware.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div class="im">On 12 June 2012 18:14, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.org" target="_blank">brendan@mozilla.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Red guy still on your shoulder :-P.</blockquote><div><br></div></div><div>I think you're seeing things. ;-) But seriously, I don't really have a horse in this race (at all, I was just exploring the concept -- seems that's already been done), happy to leave it at that.</div>

<span class="HOEnZb"><font color="#888888">

<div><br></div><div>-- T.J.</div></font></span></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>