Kona [[Configurable]]

David-Sarah Hopwood david.hopwood at industrial-designers.co.uk
Sun Nov 16 07:09:07 PST 2008


Peter Michaux wrote:
>>From 8.6.1, Table 2
> 
> [[Configurable]]
> If true, attempts to delete the property, change the property to a
> data property, or change its attributes will succeed.
> 
> This looks like at least three orthogonal properties to me.
> 
> [[Deletable]]
> If true, attempts to delete the property will succeed.
> 
> [[RePropertyTypeable]]
> If true, attempts to change the property to a data property will succeed.
> 
> [[ReAttributable]]
> If true, attempts to change its attributes will succeed.
> 
> Why have these three things been lumped together? It seems like it
> would only be luck that these three seemingly orthogonal properties
> would always change in unison. For example, for a non-deletable
> property, why couldn't the enumerability of that property be changed?

If you can set attribute mutability ([[ReAttributable]] above), then
you can set the [[Deletable]] attribute.

If you can set the [[Deletable]] attribute, then you can delete the property
and its current attributes.

If you can delete the property, then you can recreate it with different
attributes (implying [[RePropertyTypeable]] and [[ReAttributable]]).

So, there is neither a security nor an expressiveness argument for making
any distinction between these rights. An argument for separating them
would have to be based on convenience (but it seems less convenient, not
more), or on preventing inadvertent, non-malicious changes, or possibly
on efficiency (but these operations are probably not common enough for
that to be significant).

-- 
David-Sarah Hopwood


More information about the Es-discuss mailing list