We don't need an identifier for global. Much like with the :: operator in C++, a member expression starting with a . would always refer to the global object. So if you want to refer to member "foo" in the global object, ".foo" would be unambiguous. I feel like it's a simple, yet elegant solution.
--F From: John Barton <johnjbar...@google.com<mailto:johnjbar...@google.com>> Date: Thursday, June 5, 2014 at 10:55 AM To: Andreas Rossberg <rossb...@google.com<mailto:rossb...@google.com>> Cc: es-discuss <es-discuss@mozilla.org<mailto:es-discuss@mozilla.org>> Subject: Re: A bit confused by B.3.2 - Web Legacy Compatibility for Block-Level Function Declarations Assigning to 'this' because it happens that 'this' is global is no better and perhaps worse than using undeclared variables for globals. Assignments to global have, well, non-local consequences: they should be explicit not context dependent. Even if you don't agree, node has made "global" the de facto standard; lots of code is now written with the (function(global) {...}(typeof global !== 'undefined' ? global : this)); goop. Modules avoid the smaller part of that boilerplate but we still don't solve it all without a way to say "global". On Thu, Jun 5, 2014 at 7:34 AM, Andreas Rossberg <rossb...@google.com<mailto:rossb...@google.com>> wrote: On 5 June 2014 16:08, John Barton <johnjbar...@google.com<mailto:johnjbar...@google.com>> wrote: > On Thu, Jun 5, 2014 at 2:06 AM, Andreas Rossberg > <rossb...@google.com<mailto:rossb...@google.com>> > wrote: >> >> On 4 June 2014 23:46, John Lenz >> <concavel...@gmail.com<mailto:concavel...@gmail.com>> wrote: >> > I don't personally want to write sloppy mode code, but there are places >> > you >> > need it (using eval to introduce new symbols into global scope). >> >> You don't necessarily need sloppy mode for that. In strict mode, you >> can still express it as assignment to the global object. > > This excellent solution would be much more widely adopted if the global > object had a standard identifier, like say "global". Hm, I'm not sure why that would be a problem. What's wrong with using 'this' inside those evals? /Andreas --------------------------------------------------------------------- This e-mail is intended only for the use of the addressees. Any copying, forwarding, printing or other use of this e-mail by persons other than the addressees is not authorized. This e-mail may contain information that is privileged, confidential and exempt from disclosure. If you are not the intended recipient, please notify us immediately by return e-mail (including the original message in your reply) and then delete and discard all copies of the e-mail. Thank you. ---------------------------------------------------------------------
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss