Поделиться через


Приоритет операторов

Обновлен: Ноябрь 2007

Приоритетом операторов называется набор правил JScript, управляющий порядком, в котором компилятор выполняет операции при вычислении выражения. Операторы с более высоким приоритетом выполняются до операторов с более низким приоритетом. Например, умножение выполняется раньше сложения.

Таблица приоритетов

В следующей таблице представлен список операторов JScript в порядке убывания приоритета.

Приоритет

Порядок вычисления

Оператор

Описание

15

слева направо

., [], ()

Доступ к полям, индексация массивов, вызовы функций и группировка выражений

14

справа налево

++, --, -, ~, !, delete, new, typeof, void

Унарные операторы, тип возвращаемых данных, создание объектов, неопределенные значения

13

слева направо

*, /, %

Умножение, деление, деление по модулю

12

слева направо

+, -

Сложение и объединение строк, вычитание

11

слева направо

<<, >>, >>>

Сдвиг битов

10

слева направо

<, <=, >, >=, instanceof

Меньше, меньше или равно, больше, больше или равно, instanceof

9

слева направо

==, !=, ===, !==

Равенство, неравенство, строгое равенство, строгое неравенство

8

слева направо

&

Побитовое И

7

слева направо

^

Побитовое исключающее ИЛИ

6

слева направо

|

Побитовое ИЛИ

5

слева направо

&&

Логическое И

4

слева направо

||

Логическое ИЛИ

3

справа налево

?:

Условный

2

справа налево

=, OP=

Присвоение, составное присвоение

1

слева направо

, (запятая)

Вычисление нескольких выражений

Скобки в выражении изменяют порядок вычислений, определенный приоритетом операторов. Это означает, что сначала полностью вычисляется выражение в скобках, а затем полученный результат используется в остальной части выражения.

Пример.

z = 78 * (96 - 3 + 45)

В предыдущем выражении используется пять операторов: =, *, (), - и +. В соответствии с правилами приоритета операторов они вычисляются в следующем порядке: (), -, +, *, =.

  1. Сначала вычисляется выражение в скобках. В скобках присутствует оператор сложения и оператор вычитания. Эти операторы имеют одинаковый приоритет и вычисляются слева направо. Сначала из числа 96 вычитается число 3, что в результате дает 93. Затем к числу 45 прибавляется 93 и получается число 139.

  2. Затем выполняется умножение. Число 78 умножается на 139, что в результате дает 10764.

  3. Последним выполняется оператор присвоения. Число 10764 присваивается переменной z.

См. также

Основные понятия

Сводные сведения об операторах

Другие ресурсы

Операторы JScript