Consider:

 Object.defineProperty(obj, propname, { get: undefined, set: undefined });

Assuming obj has no property named by propname (whether it does or not is 
basically irrelevant to this question), the given expression apparently defines 
a property with this property descriptor:

  {
    [[Get]]: undefined,
    [[Set]]: undefined,
    [[Enumerable]]: false,
    [[Configurable]]: false
  }

The effect of getting such a property is to return undefined; setting it either 
has no effect or throws, depending on the precise code construct being used.

Anyway: what exactly is the meaning of a descriptor whose [[Get]] and [[Set]] 
fields are both |undefined|?  Merely [[Set]] being |undefined| has a sensible 
meaning (readonly yet not necessarily constant property).  Merely [[Get]] being 
|undefined| makes less sense -- one-way communication with an object via 
property setting, rather than by a method call? -- but okay, I can accept it as 
plausibly useful.  But both [[Get]] and [[Set]] being undefined?  I don't see 
the purpose or rationale behind it.  Could someone enlighten me?

Jeff
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to