A new function name property proposal
brendan at mozilla.org
Thu Nov 22 00:38:14 PST 2012
Brandon Benvie wrote:
> I don't know the specific reasoning behind it. I guess the idea is
> that a function is declared in a maximum of one scope. For the
> declaration it's the outer scope, for a named function expression it's
> a static scope that sits between the outer scope and the (during
> execution of the function) inner scope.
> Also just to clarify, the above isn't something I'm proposing. It's
> how things currently work.
Right. I think Jorge may be concerned that naming a function does not
always relieve the "need" for arguments.callee. But that's only true in
a function declaration, which is inherently named, as you showed -- and
only if one then overwrites the name in its scope.
So don't do that. Fear that someone else might means you are in the
global scope, which means that instead of using such a hard case to
justify arguments.callee, you ought to modularize with an IIFE or (in
due course) ES6 module.
More information about the es-discuss