может кто-нибудь объяснить мне, где в спецификации ECMAScript упоминается приоритет оператора и ассоциативность операторов

Я читал MDN документы о оператора старшинства и ассоциативности оператора " оператора старшинства и ассоциативности оператора (MDN)" и хотел бы знать больше об этом чтении спецификации ECMAScript.

Но я не нашел там ничего о приоритете операторов и ассоциативности операторов.

Может ли кто-нибудь направить меня ссылкой на спецификацию ECMAScript, где они описывают приоритет и ассоциативность каждого оператора.

Любая помощь очень ценится. И мне нужно знать, не упоминается ли в спецификации ECMAScript ничего о

приоритет и ассоциативность каждого оператора, как разработчики языка знают, какой оператор разрешить первым перед другим, я имею в виду, как они знают, какой оператор должен быть оценен перед другим оператором

2 ответа

Он находится в разделе 12.8 спецификации.

12.8 Синтаксис аддитивных операторов

  AdditiveExpression:
      MultiplicativeExpression
      AdditiveExpression + MultiplicativeExpression
      AdditiveExpression - MultiplicativeExpression

отредактирован для удобства чтения

Следовательно 1 + 2 * 3 производит AdditiveExpression с двумя MultiplicativeExpression внутри:

    AdditiveExpression
    (AdditiveExpression + MultiplicativeExpression)
    ((MultiplicativeExpression) + (MultiplicativeExpression MultiplicativeOperator MultiplicativeExpression))
    //...
    ((1) + (2 * 3))

Если вы это оцените, сначала вычисляются MultiplicativeExpressions (см. Раздел 12.8.3.1).

Обычно мы изучаем все эти вещи в курсе под названием "Дизайн компилятора". В этом курсе мы исследуем, как создаются эти правила. Какие бывают уровни и ассоциации операторов.

Эти правила относятся не только к JavaScript. Некоторые языки имеют одинаковые правила, некоторые - другие. Если вы хотите узнать, как создаются эти правила, я бы порекомендовал вам изучить некоторые основы проектирования компилятора.

Для понимания концепций я всегда обращаюсь к https://javascript.info/operators

Другие вопросы по тегам