One more thought: people are already avoiding "use strict"; because it bites back:
* concatenation with non-strict code and under-testing, but let's hope we are past this now; * performance dinged a bit by strict mode, or at least non-strict calling strict and vice versa. We should try to avoid taking away the forbidden fruit prematurely. In particular since ES6 is based on ES5 strict. When <| is out and well-deployed, maybe. No predictable schedule for when we could actually hope to remove __proto__. /be On Nov 8, 2011, at 8:57 PM, Mark S. Miller wrote: > http://www.google.com/support/forum/p/Google+Docs/thread?tid=0cd4a00bd4aef9e4 > But yes. Because the difference would be silent, I'm skeptical too. > > On Tue, Nov 8, 2011 at 8:23 PM, David Herman <dher...@mozilla.com> wrote: > And another silent semantic change? I wouldn't be so quick to do that. And > that's not the direction we were going for __proto__ in the last f2f. > > I *wish* __proto__ were just treated as another normal property. And I'd like > for us to work towards a future where that's the case. I'm just skeptical we > can do it by cramming it into strict mode. > > Dave > > On Nov 8, 2011, at 3:50 PM, Mark S. Miller wrote: > >> >> >> On Tue, Nov 8, 2011 at 3:46 PM, Mark S. Miller <erig...@google.com> wrote: >> >> >> On Tue, Nov 8, 2011 at 3:33 PM, David Herman <dher...@mozilla.com> wrote: >>> Perhaps __proto__ should not be writeable in "use strict"? >>> >>> That's a great idea! This never occurred to me, and I have not heard anyone >>> suggest this. Thanks! >> >> Doesn't work. >> >> obj[(function(__){return __ + "proto" + __})("__")] >> >> If the "[" above is a strict "[", it should not be able to address >> "__proto__", regardless of whether the "__proto__" is computed or not. Or >> if we intend only to suppress writing, then >> >> obj[(function(__){return __ + "proto" + __})("__")] = {} >> >> should still fail if the "[" above is in strict code. >> >> Sorry, it should not fail. It should simply create a normal property that >> happens to be named "__proto__". Likewise, your first example should simply >> address such a normal property. Then JSON would again be an almost-subset of >> ES5/strict, modulo \u2028 and \u2029. >> >> >> >> >> >> Dave >> >> >> >> >> -- >> Cheers, >> --MarkM >> >> >> >> -- >> Cheers, >> --MarkM > > > > > -- > Cheers, > --MarkM > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss