On 2008-07-29, at 01:19EDT, Brendan Eich wrote: > On Jul 28, 2008, at 10:05 PM, Jon Zeppieri wrote: > > The original code used "without (this)", not "with", which I took to > mean "avoid instance properties shadowing globals".
Indeed. Perhaps I was being too clever in my pseudo-code. > If you read the original as "with", then there is no such problem. > But if you construct a problematic case using 'with' and dynamic > properties, then I concede that 'global' could be shadowed. This is > a reason to avoid 'with'. In the ES4 proposals last sent out, you > could always use __ES4__::global if you really wanted to avoid > conflicts -- unless someone perversely added '__ES4__' as a dynamic > instance property. > > There's no solution to this problem other than reserving at least > one name, and we can't do that compatibly. We could reserve __ES4__ > in version-selected ES4 mode, but that seems unnecessary. I guess this is considered a small penalty to pay in exchange for adding the magical instance scope to methods (which O-O programmers seem to expect these days). Something we'd regret more if we had multi-methods, perhaps... _______________________________________________ Es4-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es4-discuss
