Attribute defaults for Object.defineProperty

Brendan Eich brendan at mozilla.org
Wed Aug 20 11:24:54 PDT 2008


On Aug 20, 2008, at 11:00 AM, Allen Wirfs-Brock wrote:

> The default values for [[Writable]], [[Enumerable]], and  
> [[Flexible]] are all true as currently specified in Table 3 of  
> Section 8.6.1.
>

Hi Allen, could you remind me and a few others who were wondering  
yesterday (sorry I don't remember -- it's in minutes, somewhere) why  
[[Deletable]] was not chosen instead of [[Flexible]]? Thanks.

Deletable would match the other new names more closely in inverting  
the sense of the ES1-3 attributes, avoiding Dont- prefixes which lead  
to double-negative statements and the fuzzy meaning and marketing  
connotations ("Agile!" ;-)  of "flexible".

>   These defaults apply no matter how a property is created (by an  
> object literal, implicitly by assignment, by defineProperty and  
> friends).  The defaults exactly match the default settings of the  
> corresponding ES3 attributes so there is no semantic change for the  
> property creation forms that already exist in ES3.
>

Special forms like var and function bind properties that are  
DontDelete unless in eval code. Is this what Mark is getting at?

/be


More information about the Es-discuss mailing list