The EcmaScript grammar for AssignmentExpression states the following:
AssignmentExpression : ConditionalExpression YieldExpression ArrowFunction AsyncArrowFunction LeftHandSideExpression = AssignmentExpression <-------------- here LeftHandSideExpression AssignmentOperator AssignmentExpression AssignmentOperator : one of *= /= %= += -= <<= >>= >>>= &= ^= |= **=
I wonder what is the point of defining it LeftHandSideExpression = AssignmentExpressionas a separate production instead of just including it =in AssignmentOperator?
LeftHandSideExpression = AssignmentExpression
=
AssignmentOperator
The grammar will be completely equivalent if the two derivatives were combined.
, -. , " " , " ", = production.
, , , , , "LeftHandSideExpression AssignmentOperator AssignmentExpression, AssignmentOperator =".
LeftHandSideExpression AssignmentOperator AssignmentExpression
, , , , .
Source: https://habr.com/ru/post/1687483/More articles:The color of the text in UITextfield does not change, not in focus - iosError trying to print the first occurrence of a duplicate character in a string using Python 3.6 - pythonAndroid Instant Apps and using the LInks app - androidUser progress dialog hides soft keyboard - androidКак сделать класс данных в Kotlin неизменным с java Date объектом в нем? - immutabilityJavaFX JSObject stops working after a few minutes? - javaHow to suppress console error / warning / message messages when running selenium python scripts using chrome canary - google-chromeAngular Material - show a matte error when a button is pressed - angularPause Gaussian Blur - c ++memmove in place of an effective type change (type-punning) - c ++All Articles