<br><br><div class="gmail_quote">On Tue, Sep 27, 2011 at 4:04 PM, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.com">brendan@mozilla.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="im">On Sep 27, 2011, at 12:50 PM, Sean Eagan wrote:<br>
<br>
> I agree, but it seems like holes in parameter lists would be no more<br>
> rare than holes in destructuring lists...<br>
><br>
> [a, , c] = arr;<br>
<br>
</div>Could be.<br>
<div class="im"><br>
<br>
> ...so it seems strange to add it to one but not the other.<br>
<br>
</div>Destructuring uses the same grammar as "structuring", i.e. ObjectLiteral and ArrayLiteral. We can and are making post-parse ("Supplemental Syntax") restrictions, so we could forbid holes, but it's more work.<br>

<br>
Contrast to parameter lists where adding holes is more work.<br>
<br>
Is more work for the spec the good to optimize? For such truly marginal cases, I think so.<br></blockquote><div><br></div><div><br></div><div>Out of curiosity is there any reason to keep holes the holes around in ObjectLiteral and ArrayLiteral? Is there a real usecase (other than rare and trivial minification wins)? Sure, it would be a breaking syntax change but statically detectable and correctable. And it would wipe out a source of bugs rather than doubling down.</div>
</div>