Are internal data properties ever inherited?

Nathan Wall nathan.wall at
Tue Oct 8 06:36:45 PDT 2013

> Allen Wirfs-Brock wrote:
>> Nathan Wall wrote:
>> Set foo to bar.[[Baz]] 
>> Does `foo` ever result in a non-undefined value if `bar` doesn't have 
>> an own `[[Baz]]` property but inherits from an object that has an 
>> internal `[[Baz]]` property? 
> I couldn't say, as this notation is never used in the ES specification. 
> Hence it means whatever the person who wrote it wants it to mean. 

What do you mean?

Here are some examples where this notation is used in Rev. 19:

+ [[Call]] (thisArgument, argumentsList)
  + Step 9.b.i.1 Set thisValue to calleeRealm.[[globalThis]].
+ [[DefineOwnProperty]] (P, Desc)
  + Step 3.b Let oldLen be oldLenDesc.[[Value]].
+ Runtime Semantics: LabelEvaluation
  + Step 2.f ... let V = stmt.[[value]]
+ 14.1.13 Runtime Semantics: IndexedBindingInitialisation
  + FunctionRestParameter : ... BindingIdentifier
    + Step 3 Let argumentsLength be status.[[value]].

There acutlly appears to be only one occurance of "Set ... to ...".  Other occurrences say "Let ... be ...", so I should have used that terminology.  Apologies.

I think I have my answer, though.  Internal implies own.


More information about the es-discuss mailing list