好的,我们都知道有效的左侧表达式是什么。有点儿。*
但是,看看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