On Tue, Oct 1, 2013 at 3:16 PM, Claus Reinke <[email protected]>wrote:

> Generally variables are brought into scope by an explicitly appearing
>> defining occurrence. Two exceptions are the "function" brings into scope
>> both "this" and "arguments". These remain in scope until shadowed by a
>> nested "function" or by an explicit definition. Note that "this" can never
>> be explicitly defined, and "arguments" can only be explicitly defined in
>> non-strict code.
>>
>> As of ES6, a variety of other function-defining constructs, like
>> "function", implicitly bring into scope a new "this" and "argument".
>> Arrow-functions are not one of these. Within an arrow function, both
>> "this"
>> and "arguments" are lexically captured from the enclosing context.
>>
>
> Also "super" (implicitly bound in "function", available lexically scoped
> in arrow function body).
> Still following the rule: arrow functions have no implicit bindings and do
> not interfere with lexical scope (other than adding explicit bindings for
> their parameters).


Excellent point!


-- 
  Cheers,
  --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to