Хорошо, мы все знаем , каковы допустимые выражения в левой части. Типа. *
Но, глядя на определение из стандарта 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