Что такое правильное левостороннее выражение в грамматике JavaScript?
Ладно мы всезнать каковы действительные выражения левой стороны. Вид.*
Но, глядя на определение изстандарт ECMA-ScriptЯ очень запутался
LeftHandSideExpression :
NewExpression
CallExpression
Это просто ошибка в определении, или я что-то здесь не так? Я имею в виду, разве это не значит, что
new Object = 1; // NewExpression AssignmentOperator PrimaryExpression
function () { return foo; }() = 1;// CallExpression AssignmentOperator PrimaryExpression
должны быть допустимыми выражениями присваивания?
* Из моего скромного понимания, это будет иметь гораздо больше смысла:
LeftHandSideExpression :
Identifier
MemberExpression [ Expression ]
MemberExpression . IdentifierName
CallExpression [ Expression ]
CallExpression . IdentifierName