Clarification regarding "top level" arrow functions and "this"/"arguments"
brendan at mozilla.org
Wed Jan 21 10:21:14 PST 2015
Felix Kling wrote:
>> Any reference to `arguments`, `super`, or `this` within an
>> *ArrowFunction* are resolved to their bindings in the lexically
>> enclosing function.
> However, what if there is no enclosing function? Shouldn't this say
> "enclosing environment"?
Good catch, probably best to file a bug at this point:
> If yes, what would be the expected behavior of an arrow function that
> references `this` and `arguments`?
> I assume in case of `this`, it would just resolve to the *thisBinding*
> of the environment (if there is one). Since there is no `arguments`
> binding (by default) I assume accessing `arguments` would throw a
> reference error.
> Is my understanding correct?
I think so, but SpiderMonkey has a bug, so it's hard to test that
More information about the es-discuss