Complete ECMAScript 5th edition implementation

Dmitry A. Soshnikov dmitry.soshnikov at
Fri Apr 9 01:33:00 PDT 2010

On 09.04.2010 10:39, Benjamin Jan Alexander Rosseaux wrote:
> Dmitry A. Soshnikov schrieb:
>> var x = 10;
>> alert(delete x);  // true, should be false (for [[Configurable]])
>> alert(x); // undefined
>> But identifier resolution for "x" binding (which should be resolved in
>> the global object since it isn't deleted) from the function, says not 
>> "undefined", but "x" is
>> not defined. If do not use delete, it resolves to 10.
>> (function () {
>>   alert(x);
>> })();
> Hm, i've checked my DELETE operator + Object.Delete + EnvRec.Delete 
> code implementations against the ES5 final spec PDF again once more, 
> but all instruction steps between my implementation and  the PDF are 
> exactly equal.  Can you provide me more information to this, what you 
> does mean, what may be wrong?

See 10.5 (Declaration Binding Instantiation) step 2. So only in "eval" 
code binding can be deleted (for details see CreateMutableBinding, and 
exactly for global context -- as it has Object Environment 
Record with Global object as Binding object).

But, yeah, as it was mentioned by David Herman, unfortunately such 
discussion is already off-topic for this ML; so maybe I'll contact to 
you later directly.

Good luck with your project.

> Anyway, a new version is available, where I've fixed some other small 
> bugs on other code locations.
> Benjamin

Yes, I'll check it later, I found some other bugs already.


More information about the es-discuss mailing list