brendan at mozilla.org
Sat Aug 23 19:22:14 PDT 2008
On Aug 22, 2008, at 11:10 AM, Jon Zeppieri wrote:
>> So let statements really are different from let declarations in
> I didn't know that JS 1.7 already implements different binding
> semantics for let declarations on one hand and let statements and
> expressions on the other. That's odd.
ES4 as proposed for quite a while.
> I can see why you might want
> different semantics, but using the same keyword in both cases is a bit
The introduction of letrec as a keyword seems grosser, especially for
the mass of JS programmers.
The ES4 proposal used let (head) body as the distinguishing mark,
where body could be an expression or a block. We haven't heard
complaints about using parens instead of more or longer keywords; on
the other hand, I don't think anyone is really using the unique
capabilities of these non-hoisting binding forms (to put in the
initialiser for a binding in head the same name being bound, and have
it refer to an outer binding).
The language may not support too many binding forms. The TC39
committee probably won't. Both let and const as block-scoped bindings
in the style of var (but with use before set of a const illegal, and
with const having a mandatory initialiser even though it saves
implementations no cost) seem supported by those who spoke up at the
last meeting. let blocks and let expressions do not have solid
support in TC39.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Es-discuss