Oops, sorry in ES6 > because of section 11.13 Assignment Operators > http://people.mozilla.org/~jorendorff/es6-draft.html#sec-11.13 > Static Semantics: Early Errors > Because example expression isn't Identifier, ArrayPattern or > ObjectPattern, so early Syntax Error should be raised. >
This is the case of AssignmentExpression. In postfix / prefix operator, http://ecma-international.org/ecma-262/5.1/#sec-11.3 Because of section 16, PutValue should raise ReferenceError as early error, so I think above example should raise ReferenceError as early error (in ES5 and ES6) On Thu, Aug 30, 2012 at 4:57 PM, Yusuke Suzuki <[email protected]>wrote: > Hello Joseph > > A.3 >> UnaryExpression: >> As written, it is suggested that the following is legal (which seems >> illegal): >> ++++++++5; >> ++typeof++5; > > > I think it shoud raise ReferenceError (in ES5) or SyntaxError (in ES6) > > in ES5 > because of section 16 Errors > > Attempts to call PutValue on any value for which an early determination >> can be made that the value is not a Reference (for example, executing the >> assignment statement 3=4). > > > http://code.google.com/p/esprima/issues/detail?id=81 is also interesting > resource > > in ES6 > because of section 11.13 Assignment Operators > http://people.mozilla.org/~jorendorff/es6-draft.html#sec-11.13 > Static Semantics: Early Errors > > Because example expression isn't Identifier, ArrayPattern or > ObjectPattern, so early Syntax Error should be raised. > > If I missed something, please point out. > > Regards, > Yusuke Suzuki > > On Thu, Aug 30, 2012 at 3:40 PM, Joseph Spencer < > [email protected]> wrote: > >> Hello All, >> >> This is my very first posting to this group!!! I'm very excited to be a >> part of ECMAScript development, even if it be minute. >> >> My intention in sending this came about while writing an ECMAScript >> build tool and reading through the Production definitions of the >> language outlined in Annex A of ECMAScript 5th Edition. >> >> A.4 >> ExpressionStatement: >> Is the prevention of the token { an error in this context? Initially I >> thought it was to give parse flow over to the Block Production, until I >> realized that the following 'should' be a valid ExpressionStatement: >> {a:5}?5:4; >> >> A.3 >> UnaryExpression: >> As written, it is suggested that the following is legal (which seems >> illegal): >> ++++++++5; >> ++typeof++5; >> >> Please forgive me if my findings are false, and advise where my >> understanding is lacking. >> >> -Joseph Spencer >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

