<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I think the spec is clear. The hasThisBinding of function environment record of arrow function will return false, thus always trace to the outer environment - in your case, could be global environment record or module environment record, which resolves the this binding to either global object or undefined.<br><br><div>> Date: Wed, 21 Jan 2015 10:13:39 -0800<br>> From: list@felix-kling.de<br>> To: es-discuss@mozilla.org<br>> Subject: Clarification regarding "top level" arrow functions and       "this"/"arguments"<br>> <br>> [Section <br>> 14.2.17](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-arrow-function-definitions-runtime-semantics-evaluation) <br>> says<br>> <br>> > Any reference to `arguments`, `super`, or `this` within an <br>> > *ArrowFunction* are resolved to their bindings in the lexically <br>> > enclosing function.<br>> <br>> However, what if there is no enclosing function? Shouldn't this say <br>> "enclosing environment"?<br>> <br>> If yes, what would be the expected behavior of an arrow function that <br>> references `this` and `arguments`?<br>> I assume in case of `this`, it would just resolve to the *thisBinding* <br>> of the environment (if there is one). Since there is no `arguments` <br>> binding (by default) I assume accessing `arguments` would throw a <br>> reference error.<br>> <br>> Is my understanding correct?<br>> _______________________________________________<br>> es-discuss mailing list<br>> es-discuss@mozilla.org<br>> https://mail.mozilla.org/listinfo/es-discuss<br></div>                                         </div></body>
</html>