さて、私たちは皆、有効な左辺の式が何であるかを知っています。すこし。*
しかし、 ECMA-Script standardの定義を見て、私は非常に混乱しています:
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