Ye olde arguments argument (was: Topic list - pending changes and issues for the ES3.1 spec)

Jon Zeppieri jaz at
Mon Sep 15 13:32:12 PDT 2008

On Mon, Sep 15, 2008 at 4:18 PM, Jorge Chamorro <jorge at> wrote:
> El 14/09/2008, a las 21:30, Mark S. Miller escribió:
>> The arguments object itself is often passed in order for function F to
>> give function G access to the argument list F with which was called.
>> This seemingly innocent operation should not also inadvertently
>> provide G with the ability to call F. F might otherwise be
>> encapsulated within some larger abstraction.
> Hmm, the problem is 'callee' being a property of 'arguments' ?
> or the functionality that 'callee'  provides ?
> IOW, could we have instead a ('standalone') 'callee' property (that
> isn't to be innocently passed on) ?
> a property of what?

Any magically bound variable breaks TC.  The expression


should have the same meaning as

  (function() { return callee; })()

...and it clearly does not.

More information about the Es-discuss mailing list