Приоритет операторов
Приоритет операторов определяет очередность выполнения операторов в выражении. Существует ряд операторов, обладающих одинаковым приоритетом. В этом случае очередность выполнения операторов определяется направлением вычислений, которое называется ассоциативностью. Направление вычислений для операторов с равным приоритетом может быть:
- слева направо;
- справа налево.
Ниже приведена таблица всех операторов языка JavaScript в порядке убывания приоритета.
Приоритет | Оператор | Ассоциативность | Описание |
0 | ( ) | – | Группировка |
1
|
[ ]
. new |
Слева направо Слева направо – |
Доступ к элементу массива
Доступ к свойству Создание объекта со списком аргументов |
2
|
function
new |
Слева направо Слева направо |
Вызов функции
Создание объекта без списка аргументов |
3 | ++
— |
– – |
Постфиксный инкремент
Постфиксный декремент |
4
|
!
~ – ++ –– typeof void delete |
Справа налево Справа налево Справа налево Справа налево Справа налево Справа налево Справа налево Справа налево |
Логическое отрицание
Поразрядное логич. отрицание Отрицательное число Префиксный инкремент Префиксный декремент Информация о типе Вернуть undefined Удаление |
5 | *
/ % |
Слева направо Слева направо Слева направо |
Умножение
Деление Остаток от деления |
6 | +
– |
Слева направо Слева направо |
Сложение
Вычитание |
7 | <<
>> >> |
Слева направо Слева направо Слева направо |
Поразрядный сдвиг влево
Поразрядный сдвиг вправо Поразрядный сдвиг вправо без знака |
8 | <
<= > >= in instanceof |
Слева направо Слева направо Слева направо Слева направо Слева направо Слева направо |
Меньше
Меньше или равно Больше Больше или равно Проверка наличия свойства Проверка принадлежности типу |
9 | ==
!= === !== |
Слева направо Слева направо Слева направо Слева направо |
Проверка на равенство
Проверка на неравенство Проверка строгого равенства Проверка строгого неравенства |
10 | & | Слева направо | Поразрядное И (AND) |
11 | ^ | Слева направо | Поразрядное исключающее ИЛИ (XOR) |
12 | | | Слева направо | Поразрядное ИЛИ (OR) |
13 | && | Слева направо | Логическое И (AND) |
14 | || | Слева направо | Логическое ИЛИ (OR) |
15 | ?: | Справа налево | Тернарный условный оператор |
16 | =
+= -= *= /= %= <<= >>= >>> &= ^= != |
Справа налево | Разновидности оператора присваивания |
17 | yield | Справа налево | Остановка и восстановление функции-генератора |
18 | , | Слева направо | Вычисляет оба операнда и возвращает значение другого |
⇑