John Barton wrote:
On Thu, Jan 30, 2014 at 7:54 AM, Brendan Eich <[email protected]
<mailto:[email protected]>> wrote:
John Lenz wrote:
Generally, I've always thought of:
"if (x) ..." as equivalent to "if (x) { ... }"
let and const (and class) are block-scoped. {...} in your "if (x)
{...}" is a block. An unbraced consequent is not a block, and you
can't have a "conditional let binding".
The restriction avoids nonsense such as
let x = 0; { if (y) let x = 42; alert(x); }
What pray tell is going on here, in your model?
I'm with John: the alert should say 0 and I can't see why that is not
obvious.
Interesting!
You don't want the alert to show undefined, so the extent of the inner
binding in your model is the unbraced consequent of the "if".
That is not "block scope" in any plain sense.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss