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

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

On Tue, Sep 30, 2014 at 12:00 PM, Rick Waldron <waldron.rick at> 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.


More information about the es-discuss mailing list