<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <blockquote type="cite">
      <pre>><i> Brandon Benvie <mailto:<a href="https://mail.mozilla.org/listinfo/es-discuss">bbenvie at mozilla.com</a>>
</i>><i> September 30, 2013 8:48 PM
</i>><i> I'm actually now really curious what the following does:
</i>><i>
</i>><i> ```
</i>><i> function foo(x, y = (() => { arguments[0] = "foo"; return "bar" })()) {
</i>><i>   return [x, y];
</i>><i> }
</i>
Easy: arguments is an early error in the body of an arrow.

<a href="http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax">http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax</a>

/be</pre>
    </blockquote>
    <br>
    This restriction is  not specified in the rev19 draft. Currently
    arrow functions don't have an own `arguments` binding, but instead
    access the outer functions `arguments` object, similar to `this`.
    Disallowing the identifier "arguments" in PrimaryExpressions also
    should imply disallowing "arguments" as a BindingIdentifier, which
    shifts arrow functions again into "almost strict-mode". <br>
    <br>
    - André<br>
  </body>
</html>