Call for opinions: attribute defaults and renaming "flexible"
david.hopwood at industrial-designers.co.uk
Wed Sep 3 21:49:05 PDT 2008
Mark S. Miller wrote:
> If a property is _configurable_, it may be deleted, its enumerability
> may be changed, it may be changed between being a data property (with
> [[Value]] and [[Writable]]) and an accessor property (with [[Getter]]
> and [[Setter]]), and it may be made non-configurable, at which point
> none of these changes remain possible. As an unfortunate implication
> of legacy issues, a non-configurable writable data property may be
> made non-writable. If it weren't for this special case, we'd have to
> split deletable from configurable.
I don't see why any special case is needed here, or why removing it
would require splitting [[Deletable]] from [[Configurable]].
Suppose that [[Configurable]] = false prevents a writable data property
from being deleted or changed to non-writable. What compatibility problem
does this introduce? ES3 had no way for user code to change attributes,
so I don't see how there can be a compatibility problem.
More information about the Es-discuss