SpiderMonkey hacker Jeff Walden noticed this. Consider a web page that
loads and runs this script:

    throw 0;
    let x;

This leaves the binding 'x' uninitialized. There's no way to get rid
of a lexical binding or to initialize it later. The binding is just
permanently hosed; any attempt to read or write it will throw.

That by itself isn't necessarily a problem. I've never written a web
page where I wanted to recover after a toplevel script threw an
exception (or timed out). But I dunno, the impossibility of any kind
of self-healing here gives me pause.

No action required on my account; I'm posting this because we were all
surprised and it seems vaguely unaesthetic.

-j
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to