<div class="gmail_quote">On Wed, Jul 11, 2012 at 1:06 PM, 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">
<div class="HOEnZb"><div class="h5">Russell Leggett wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<br>
    Russell asked about 'length' -- per a previous thread, I thought<br>
    we agreed that one [[Get]] of 'length' would be done before<br>
    matching if and only if the array literal contains a spread<br>
    (covering rest, the dual for a pattern of spread in the array<br>
    literal corresponding to the pattern).<br>
<br>
<br>
Yes, I saw this in the proposal algorithm. The reason I ask is because it seems odd to have an additional structural requirement in some cases but not others. Of course, I understand why, but it sort of makes it look like [] implies additional array-like structure in one case, but not in another.<br>

</blockquote>
<br></div></div>
You get what you ask for. Pay as you go. Buy by the yard.<br>
<br>
Ok, out of clichés but I hope we aren't going to revisit and impose a mandatory [[Get]] of 'length' on all array destructuring forms. That is otiose and costly (potentially very).<br>
<br>
The presence of ...rest is static syntax, so there's no runtime maybe/maybe-not hazard.</blockquote><div><br></div><div>It would not have to be a [[Get]] of 'length', just a check for its existence. Its no deal breaker for me, but it seemed a little inconsistent. We could also be more strict with an Array.isArray check, but that seems too strict. Anyway, just a thought.</div>
<div><br></div><div>- Russ</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
<br>
/be<br>
</font></span></blockquote></div><br>