AssignmentExpression的EcmaScript语法指定以下内容:
p->_down = element;
我想知道将AssignmentExpression :
ConditionalExpression
YieldExpression
ArrowFunction
AsyncArrowFunction
LeftHandSideExpression = AssignmentExpression <-------------- here
LeftHandSideExpression AssignmentOperator AssignmentExpression
AssignmentOperator : one of
*= /= %= += -= <<= >>= >>>= &= ^= |= **=
指定为单独制作而不是简单地将LeftHandSideExpression = AssignmentExpression
加入=
背后的理由是什么?
答案 0 :(得分:4)
如果两部作品合并,那么语法将是完全等效的。
然而,在规范的后面有几个地方,两个制作的处理方式不同。例如,在语法之后的静态语义部分中,然后在“解构分配”部分中,这仅适用于=
生成。
如果这两个作品都是一个,那么引用它们的短语就会更加尴尬,例如“LeftHandSideExpression AssignmentOperator AssignmentExpression
AssignmentOperator
时=
”。
所以推测这两部作品是分开写下来的,所以在文中单独讨论它们会更容易,更容易混淆。