On Sep 13, 2013, at 11:09 AM, Andreas Rossberg <rossb...@google.com> wrote:
> 
> OK, I assumed you were talking about TDZ in general, and not just for
> the specific case of parameter lists. For parameter lists, I agree
> that there is no reason to treat them as mutually recursive. However,
> if scoping of bindings is supposed to be sequential, but each default
> expression shall see the previous parameters, then the only clean
> solution is to conceptually have each parameter open a new nested
> scope (like is the case in some other languages).  That solves your
> 'eval' case as well.  I'd be happy with that, but I remember concerns
> about more fine-grained scoping on the committee.

Introducing a new scope for each argument could be extraordinarily expensive, 
also would make some semantics weird:

function f(a=1, b=function(){return a}) {
var a = 2;
return b() // What's this?
}

if we say sequential scoping it becomes inconsistent for b to return 1, but the 
parameter shadowing of var means that it should.

--Oliver
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to