Приоритет операторов
Обновлен: Ноябрь 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)
В предыдущем выражении используется пять операторов: =, *, (), - и +. В соответствии с правилами приоритета операторов они вычисляются в следующем порядке: (), -, +, *, =.
Сначала вычисляется выражение в скобках. В скобках присутствует оператор сложения и оператор вычитания. Эти операторы имеют одинаковый приоритет и вычисляются слева направо. Сначала из числа 96 вычитается число 3, что в результате дает 93. Затем к числу 45 прибавляется 93 и получается число 139.
Затем выполняется умножение. Число 78 умножается на 139, что в результате дает 10764.
Последним выполняется оператор присвоения. Число 10764 присваивается переменной z.
См. также
Основные понятия
Сводные сведения об операторах