Call for opinions: attribute defaults and renaming "flexible"

David-Sarah Hopwood david.hopwood at
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.

David-Sarah Hopwood

More information about the Es-discuss mailing list