Mark S. Miller (2013-05-07T15:02:01.000Z)
github at esdiscuss.org (2013-07-12T02:27:21.449Z)
Much as I hate to say this, but if all major JS platforms support some harmless feature, cross-browser web content will come to depend on that feature. In that case, we are better off doing the work to codify an agreed common behavior for that feature, rather than have all implementors guess separately how to best be compatible with what other implementors are guessing. Remember block nested functions as a cautionary tale. I hope we keep `__defineGetter__` etc out of the cross browser web. I had hoped we would keep `__proto__` out to no avail. If `__defineGetter__` etc becomes part of the cross-browser de facto platform, TC39 should make it de jure. Fortunately, these are easy to shim on any ES5 platform of course. SES already does so https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/startSES.js#329. If we do codify these, we should probably follow the logic of this trivial shim.