Brendan Eich <mailto:bren...@mozilla.org>
January 31, 2012 10:25 AM
So? I wrote "effect" not "scope", now you're defending the unwanted
degree of side-effecting freedom? :-|.
One can always make expressions have effects. That's not the point.
The reuse of VariableDeclarationNoIn in 12.6.4 without any refactoring
or semantic restriction to forbid an initialiser was a mistake. I'm
glad to get rid of it, but teasing me will cause endless grumpy fear
that it will live on. :-P
So one approach, which Gavin has already tried in WebKit nightlies by
reserving 'let' unconditionally (so far so good), is to risk breaking
the web. How about we remove the optional initialiser hiding in for (var
... in ...); and see what happens?
We may learn quickly that the web depends on this unwanted feature. That
would be good, it would mean we must restrict 'let' and 'const' in
for-in and for-of heads from having initialisers. But if we get away
with it, over this year in nightlies and product builds, then I think we
should remove the initialiser from the 'var' case too.
/be
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss