gpt4 book ai didi

javascript - ecmascript 规范的语法令人困惑

转载 作者:行者123 更新时间:2023-11-28 14:41:43 25 4
gpt4 key购买 nike

我对以下规范规则感到困惑。为什么“AdditiveExpression”应该由另一个“AdditiveExpression”和“MultiplicativeExpression”组成?

正如下面的规则所说,我们应该首先计算左侧的“AdditiveExpression”和右侧的“MultiplicativeExpression”,但是如果操作数的右侧不是计算“”,那么该规则应该做什么MultiplicativeExpression”而是一个“AdditiveExpression”?

Ecmascript Specification

最佳答案

语法表明+的右操作数必须是乘法表达式。如果不是,您会收到语法错误并且不会评估任何内容。

例如,表达式 1 + 2 + 3 的解析如下:

  • 1NumericLiteral ,这是 Literal ,这是 PrimaryExpression .

  • PrimaryExpressionMemberExpression ,这是 NewExpression ,这是 LeftHandSideExpression ,这是一个 UpdateExpression ,这是 UnaryExpression ,这是一个 ExponentiationExpression ,这是 MultiplicativeExpression .

  • MultiplicativeExpressionAdditiveExpression .

  • + 是...+

  • 2 是一个 NumericLiteral,它(通过上面列出的链)是一个 MultiplicativeExpression

    <
  • 此时,规则 AdditiveExpression : AdditiveExpression + MultiplicativeExpression (在问题中引用)匹配:1 + 2 被解析为 AdditiveExpression.

  • 我们还有另一个 +,它就是 +

  • 3 是一个 NumericLiteral,它(通过上面列出的链)是一个 MultiplicativeExpression

    <
  • 现在 AdditiveExpression : AdditiveExpression + MultiplicativeExpression 再次应用(1 + 2AdditiveExpression3 code> 是 MultiplicativeExpression)。

  • 整个事情现在是一个AdditiveExpression

关于javascript - ecmascript 规范的语法令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47845757/

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