Clarification regarding "top level" arrow functions and "this"/"arguments"

Felix Kling list at felix-kling.de
Wed Jan 21 10:13:39 PST 2015


[Section 
14.2.17](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-arrow-function-definitions-runtime-semantics-evaluation) 
says

> 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"?

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?


More information about the es-discuss mailing list