Inner functions and outer 'this' (Re: That hash symbol)
Sam Tobin-Hochstadt
samth at ccs.neu.edu
Mon Mar 28 20:30:43 PDT 2011
On Mon, Mar 28, 2011 at 10:16 PM, Erik Arvidsson
<erik.arvidsson at gmail.com> wrote:
> On Mon, Mar 28, 2011 at 10:35, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote:
>> Overall, I really like ^this as a narrow solution to a specific real usage problem. I'm interested in reactions and unless somebody thinks of something that seriously torpedoes it I will probably write it up as a strawman.
>
> I like ^this.
>
> We (Chromium/V8) discussed introducing 'self' as a a way to get the
> lexically bound 'this'. The main issue we could think of was that it
> might be hard for users to know when to use '^this' vs when to use
> 'this'.
There seem to be a bunch of different but related suggestions here,
some of which seem more useful than others:
1. |^this| as a new special token that always refers to the lexical
meaning of |this|.
2. |^this| as a new special way to get the version of |this| bound in
the next outer scope. I believe that this is sometimes different from
1 (maybe just at the top level).
3. ^ as a general way to move out a scope, but restricted to |this|
4. ^ as a general way to refer up the scope chain, for any identifier
including |this|.
Personally, I think that a way to name the implicit binding of the
receiver would be better than adding more hardcoded names to the
standard. The |^this| proposals seem problematically implicit,
especially since we had quite reasonable suggestions (at the meeting
at least) for naming |this| explicitly instead.
--
sam th
samth at ccs.neu.edu
More information about the es-discuss
mailing list