Are internal data properties ever inherited?

Allen Wirfs-Brock allen at wirfs-brock.com
Mon Oct 7 22:21:16 PDT 2013


On Oct 7, 2013, at 8:05 PM, Nathan Wall wrote:

> This should be a quick answer; I'm just looking for clarity.  Are there any situations where internal data properties may be inherited?  For example:

No never.   "Internal data properties" are really properties at all.  They are really private data fields that defined by the specification.  There is no ES code level mechanisms for defining or accessing them.  

An inherited @@create method might create the same internal data properties in a subclass instance that it also creates in a super class instances.  But that isn't property inheritance.

Arguably it might be better to all them "internal data fields".  The "internal property" terminology is a legacy that just hasn't been purged. 

> 
>     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.

Allen


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131007/7e7ea08c/attachment.html>


More information about the es-discuss mailing list