Terminology: named data properties

Brendan Eich brendan at mozilla.org
Mon Aug 6 14:32:48 PDT 2012


Rick Waldron wrote:
> On Monday, August 6, 2012 at 4:51 PM, Axel Rauschmayer wrote:
>>>> On es-discuss, I’ve seen the term “data properties” used for named 
>>>> data properties that are not methods.
>>>>
>>>> In this light: wouldn’t it be better to rename named data 
>>>> properties to named value properties?
>>>>
>>> "value" usually means scalar, whereas "data" is accurately vague.
>>
>> My understanding:
>> - Method: a property whose value is a function.
>> - Data property: a property that is not a method or an accessor 
>> (getter, setter). Example: “ES.next classes don’t let you directly 
>> create data properties in prototypes”.
>> - Value: the union of primitive values and objects.
>
> What is the endgame? Add more terminology to the spec or try to define 
> a term to be adopted into the spoken lexicon?
>
> The former doesn't currently have any ambiguity and the latter is 
> tough because...
>
> 1. Most devs don't even use the term "accessor", instead they say 
> "getter-setters"
>
> 2. Most devs will use "value" to describe a scalar and "object" or 
> "reference" to describe an object... "data" is used to mean 
> either/both (which is why Brendan's "value objects" makes complete 
> sense: looks like a value, but is actually an object)
>
> 3. "method" is the only commonly used term

Good points.

Axel, I don't think "we" can redefine the jargon commonly used by JS 
developers. It's enough to track and influence what's commonly written 
and spoken.

In the spec, even ignoring common usage, I would not try to mess with 
"data property" right now. As Rick notes, "value" may be taken to mean 
"primitive, not reference (object)."

/be


More information about the es-discuss mailing list