I miss you `arguments.callee`, specially in this "fat arrows era" where most of the time developers don't even care about removing listeners.
Apologies for the laud thought and Best Regards On Thu, Feb 26, 2015 at 4:32 PM, Allen Wirfs-Brock <[email protected]> wrote: > > On Feb 26, 2015, at 4:10 AM, Leon Arnott wrote: > > The twitter thread starts here: > https://twitter.com/getify/status/570614952605560838 and basically boils > down to the observation that this: > ``` > ({ f() { return f; }}.f()) /* ReferenceError (probably) */ > ``` > is not semantically identical to this: > ``` > ({ f: function f() { return f; } }.f()) /* function f() */ > ``` > That is, concise methods cannot seamlessly recursively call or reference > themselves. (Personally, I feel like concise methods *should* be a binding > within themselves in a manner identical to named function expressions, but > if this has been discussed before and discarded then I understand.) > > You may notice that both of the methods above have the same name, "f", in > spite of one lacking the lexical binding. Formerly, named functions always > (barring internal var statements etc.) had lexical bindings to themselves, > and the whole ES6 function name inference dealie breaks this correlation. I > don't think this is really an important issue, though - assuming that a > `.name` property equated to a binding was not a safe assumption (especially > since IE never implemented `.name` but did support the binding). > > > Note that property names are restricted to being valid identifiers. Note > of the following concise methods could possibly use their property name as > a lexical binding: > > let o = { > 42() {}, > " this is not an identifier"() {}, > ""() {}, > if() {}, > [Symbol.iterate]() {} > }; > > We may have a universal way for functions to self reference themselves i > post ES6. > > allen > > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

