B.3.1 The __proto__ pseudo property

Brendan Eich brendan at mozilla.com
Tue May 7 21:00:51 PDT 2013

Mark S. Miller wrote:
>         2) Object.prototype.__proto__ is moved back to Annex B.
>     Since __proto__, unlike __defineGetter__, provides functionality
>     that is otherwise unavailable, all JS platforms will treat it as
>     mandatory whether we put it into Appendix B or the main text. At
>     this point, I think moving this back to Appendix B would be an
>     obviously meaningless gesture
> My "since" is incorrect, as the functionality is available via 
> Object.setPrototypeOf. Nevertheless, I still think this would be a 
> meaningless gesture. OTOH, since it is meaningless, it is also mostly 
> harmless.

Having __proto__ in the main spec be a special form when used as a 
property name in an object literal, but relegating 
Object.prototype.__proto__ to Annex B, seems inconsistent just on that 
basis, too. One place or the other -- main spec or Annex B -- but not both.


More information about the es-discuss mailing list