On Jun 12, 2012, at 3:26 PM, John Tamplin wrote: > On Tue, Jun 12, 2012 at 3:09 PM, Brendan Eich <[email protected]> wrote: > And (to be clear) the semantics for > > LeftHandSideExpression ?= AssignmentExpression > > are roughly > > Let lref = evaluate A. > Let lval = GetValue(lref). > Let rref = evaluate B. > Let rval = GetValue(rref). > Throw a SyntaxError exception if the following conditions are all true: > • Type(lref) is Reference is true > • IsStrictReference(lref) is true > • Type(GetBase(lref)) is Environment Record > • GetReferencedName(lref) is either "eval" or "arguments" > If lval is undefined, call PutValue(lref, rval). > > to assign the default value if and only if the left-hand side's current value > is undefined. > > Wouldn't you want B to be evaluated only if A is undefined?
Yes, that makes it consistent with the semantics of ? : Allen
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

