See the following test262 test:
https://github.com/tc39/test262/blob/master/test/language/expressions/assignment/S11.13.1_A5_T5.js
(and related tests with update / compound assignment).

In short, it is possible to have a Reference to a global variable which has
been deleted. Normally, bare assignments to undeclared variables in strict
mode cause ReferenceErrors. However, calling PutValue on a reference to a
global variable which has been deleted since the reference was created does
not throw a ReferenceError in strict mode, even though, *at the time of
writing*, that variable does not exist.

As far as I can tell, this is true in ES5 as well as ES6, but none of {V8,
SpiderMonkey, JavaScriptCore, Nashorn} get it right. This is consistent and
makes sense, but is it intentional?
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to