Toplevel 'let' binding can be left permanently uninitialized after an error

Jason Orendorff jason.orendorff at gmail.com
Tue Sep 30 14:42:35 PDT 2014


On Tue, Sep 30, 2014 at 12:00 PM, Rick Waldron <waldron.rick at gmail.com> wrote:
> My original response questions were poorly asked. I understand the TDZ
> semantics, but I couldn't reproduce anything meaningful from your original
> example, because I don't have the SpiderMonkey build that includes the let
> updates (presumably Nightly doesn't either, because none of these can be
> reproduced there).

SpiderMonkey doesn't conform to the draft spec yet. We implemented TDZ
in functions, but not at toplevel. 'const' isn't lexical yet. There's
a lot more work to do.

> I'm trying to understand when/where/why/how the original
> example could happen and what the potential consequences are in terms of
> practical application.

Purely hypothetical for us, for now. It came up on IRC. Some engineers
were discussing the breaking changes we're going to have to make.

-j


More information about the es-discuss mailing list