gpt4 book ai didi

javascript - 为什么使用 `=` 文字而不是部分 `AssignmentOperator` 符号为赋值运算符指定单独的产生式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:16 24 4
gpt4 key购买 nike

AssignmentExpression 的 EcmaScript 语法指定以下内容:

AssignmentExpression :
ConditionalExpression
YieldExpression
ArrowFunction
AsyncArrowFunction
LeftHandSideExpression = AssignmentExpression <-------------- here
LeftHandSideExpression AssignmentOperator AssignmentExpression

AssignmentOperator : one of
*= /= %= += -= <<= >>= >>>= &= ^= |= **=

我想知道将 LeftHandSideExpression = AssignmentExpression 指定为单独的产品而不是简单地将 = 包含到 AssignmentOperator 背后的基本原理是什么?

最佳答案

如果合并两个产生式,语法将完全等价。

但是,规范后面的几个地方对这两个产品进行了不同的处理。例如在语法之后的静态语义部分,然后是解构赋值部分,这仅适用于 = 产生式。

如果这两个产生式是一个,那么当 AssignmentOperator=”。

所以大概这两个作品是分开写的,所以在文本中分开讨论它们会更容易也不会造成混淆。

关于javascript - 为什么使用 `=` 文字而不是部分 `AssignmentOperator` 符号为赋值运算符指定单独的产生式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46744200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com