Block Lambdas: break and continue
Allen Wirfs-Brock
allen at wirfs-brock.com
Mon Jan 16 11:32:23 PST 2012
On Jan 16, 2012, at 11:09 AM, Brendan Eich wrote:
> With completion values as In ES1-5, not even depending on http://wiki.ecmascript.org/doku.php?id=harmony:completion_reform, it might be enough to say:
You're right, according to ES 5 semantics this does provide "early" as the value of the labelled block.
>
>
> foo {||
> exit: {
> ...
> if (...) {
> "early";
> break exit;
> }
> ...
> }
> }
>
>
> IINM this would work. Sugaring it using 'with' looks nice -- always tempting to re-use 'with'.
and if fact it does work in the browsers I tested (without the block lambda), so I was wrong when I said there was no way to supply the completion value. But the sugaring is much more explicit.
>
> I have some angst about loss of a hunk of code running "break L" up against " with (E)\nS" where E is an expression and S is a statement and the two came from a bone-fide with statement later in the unmangled source.
that's why I would require a [no LineTerminator here] before the with clause of a break statement
>
> /be
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120116/f4914651/attachment-0001.html>
More information about the es-discuss
mailing list