Brendan Eich (2013-05-08T04:00:51.000Z)
github at esdiscuss.org (2013-07-12T02:27:20.760Z)
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.