2008/8/21 Allen Wirfs-Brock <[EMAIL PROTECTED]>: > 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 _______________________________________________ Es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

