Какое правильное левое выражение в грамматике 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

15
задан user123444555621 14 September 2010 в 14:43
поделиться