Excellent.

On Jun 10, 2013, at 19:26 , Allen Wirfs-Brock <al...@wirfs-brock.com> wrote:

> The corresponding text describing [[Configurable]] in the ES6 draft has 
> already been updated to clarify that [[Writable]] can always be set to false.
> 
> Allen
> 
> On Jun 10, 2013, at 4:57 AM, Axel Rauschmayer wrote:
> 
>> The ECMAScript 5.1 spec says (8.6.1):
>> [[Configurable]]: If false, attempts to delete the property, change the 
>> property to be an accessor property, or change its attributes (other than 
>> [[Value]]) will fail.
>> 
>> On the other hand [[DefineOwnProperty]] (8.12.9) allows one to change 
>> writability from true to false, even if a property is not configurable:
>> 
>> 10 Else, if IsDataDescriptor(current) and IsDataDescriptor(Desc) are both 
>> true, then
>>      a. If the [[Configurable]] field of current is false, then
>>              i. Reject, if the [[Writable]] field of current is false and 
>> the [[Writable]] field of Desc is true.
>>              ii. If the [[Writable]] field of current is false, then
>>                      1. Reject, if the [[Value]] field of Desc is present 
>> and SameValue(Desc.[[Value]], current.[[Value]]) is false.
>>      b. else, the [[Configurable]] field of current is true, so any change 
>> is acceptable.
>> 
>> (10.a) seems to ignore the case of [[Writable]] of `current` being true. Is 
>> this deliberate?
>> 
>> Should the description of [[Configurable]] be changed to better reflect the 
>> status quo?

-- 
Dr. Axel Rauschmayer
a...@rauschma.de

home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to