Call for opinions: attribute defaults and renaming "flexible"

Garrett Smith dhtmlkitchen at gmail.com
Sun Aug 24 10:45:17 PDT 2008


2008/8/21 Allen Wirfs-Brock <Allen.Wirfs-Brock at microsoft.com>:
> At the Thursday, August 21, ES3.1 design conference call we debated two
> decision points relating to property attributes but did not reach consensus
> on either item.  There are strong points on each side of these issues but so
> far too few contributors have weighed in to reach any consensus on the
> alternatives.




>
> Issue 1:  When a property is defined using Object.defineProperty and similar
> functions what are the values of any properties attributes that are not
> explicitly specified using the property descriptor argument.
>
>
>
> Background:
>
> The attributes we are talking about are [[Writable]], [[Enumerable]],
> [[Flexible]].
>
> See ES3.1 Draft Sections 8.6.1, 8.6.2.9, 15.2.3.7 and similar functions in
> 15.2.3.
>

However, it seems that what I one might guess [[Flexible]] to mean is
partially defined as [[Extensible]].

| [[Extensible]] If true, own properties may be added
| to the object.

The opposite of [[Extensible]] still allows property values to be
modified. The object is not "sealed". The term "sealed" seems to lack
proper definition.

> "Proposed ECMAScript 3.1 Static Object Functions: Use Cases and Rationale"
> http://wiki.ecmascript.org/lib/exe/fetch.php?id=es3.1%3Aes3.1_proposal_working_draft&cache=cache&media=es3.1:rationale_for_es3_1_static_object_methods.pdf
>
>
>

>
>
> Issue 2: The property attribute currently named [[Flexible]] (and which
> replaces ES3's [[dontDelete]]) should be renamed to [[Configurable]].
>
>
>
> Argument for:
>
> * The common meaning of the word "configurable" is a closer match to the
> actual semantics of the attribute  than the common meaning of "flexible"
>

[[Configurable]] would seem to mean a lot more than [[Deletable]].
Configurable sounds like [[Extensible]] new properties can be
added/deleted. configurable=false would seem as though the object were
not [[Extensible]]


> * The other attributes name all follow the form of a semantically meaningful
> verb ("write" and "enumerate") converted to an adjective by adding "able".
> "flex" is not semantically meaningful within ES.

Has [[Deletable]] been considered?

Garrett


More information about the Es-discuss mailing list