Прiorитет операций операторов JavaScript
- Предыдущая страница JS регулярные выражения
- Следующая страница JS исключения
Приоритет операторов (Operator Precedence) описывает порядок выполнения операций в арифметическом выражении.
Приоритет умножения (*) и деления (/) выше, чем у сложения (+) и вычитания (-).
Пример
Как и в традиционной математике, сначала выполняются операции умножения:
let x = 100 + 50 * 3;
При использовании круглых скобок сначала вычисляются операции внутри них:
let x = (100 + 50) * 3;
Операции с одинаковым приоритетом (например, * и /) вычисляются слева направо:
let x = 100 / 50 * 3;
Значение приоритета оператора
Выражения в скобках вычисляются до других частей выражения, функции выполняются до использования результатов в других частях выражения:
Приоритет | Операторы | Описание | Пример |
---|---|---|---|
18 | ( ) | Выражение группировки | (100 + 50) * 3 |
Вызов функции | . | person.name | person.name |
Вызов функции | . | person.name | [] |
Вызов функции | Свойство | person["name"] ES2020 | ?. |
Вызов функции | Оператор опциональной цепочки | x ?. y | () |
Вызов функции | new Date("June 5,2022") | myFunction() | 17 |
Создание с параметрами | new Date("June 5,2022") | 16 | new |
Создание без параметровnew Date() |
|||
i++ | ++ | Операторы инкремента | Postfix increment before prefix increment |
i++ | -- | 15 | i-- |
14 | ++ | Префиксное увеличение | ++i |
14 | -- | Префиксное уменьшение | --i |
Оператор NOT |
|||
14 | ! | Логическое не | !(x==y) |
14 | ~ | Битовое не | ~x |
Унарные операторы |
|||
14 | + | Унарное добавление | +x |
14 | - | Унарное вычитание | -x |
14 | typeof | Тип данных | typeof x |
14 | void | Оценка пустого значения | void(0) |
14 | delete | Удаление свойства | delete myCar.color |
Операторы арифметических операцийОперации с экспонентой выполняются до умножения. Множение и деление выполняются до добавления и вычитания. |
|||
13 | ** | Операции с экспонентой ES2016 | 10 ** 2 |
12 | * | Множение | 10 * 5 |
12 | / | Деление | 10 / 5 |
12 | % | Остаток от деления | 10 % 5 |
11 | + | Добавление | 10 + 5 |
11 | - | Убавление | 10 - 5 |
11 | + | С串联ением | "Bill" + "Gates" |
Операторы сдвига |
|||
10 | << | Сдвиг влево | x << 2 |
10 | >> | Сдвиг вправо (с знаком) | x >> 2 |
10 | >>> | Сдвиг вправо (без знака) | x >>> 2 |
Операторы отношений |
|||
9 | in | Свойство объекта | "PI" in Math |
9 | instanceof | Экземпляр объекта | x instanceof Array |
Операторы сравнения |
|||
9 | < | Меньше | x < y |
9 | <= | Меньше или равно | x <= y |
9 | > | Больше | x > y |
9 | >= | Больше или равно | x >= Array |
8 | == | Равно | x == y |
8 | === | Строго равно | x === y |
8 | != | Не равно | x != y |
8 | !== | Строго не равно | x !== y |
Операторы битовых операций |
|||
7 | & | Логическое И битов | x & y |
6 | ^ | Логическое ИЛИ битов с исключением | x ^ y |
5 | | | Логическое ИЛИ битов | x | y |
Операторы логических операций |
|||
4 | && | Логическое И | x && y |
3 | || | Логическое ИЛИ | x || y |
3 | ?? | Объединение пустых значений ES2020 | x ?? y |
Оператор условия (триграмма) |
|||
2 | ? : | Условие | ? "да" : "нет" |
Оператор присваиванияПрисваивание выполняется после других операций. |
|||
2 | = | Простое присваивание | x = y |
2 | : | Присваивание через точку с запятой | x: 5 |
2 | += | Добавление присваивания | x += y |
2 | -= | Вычитание присваивания | x -= y |
2 | *= | Умножение присваивания | x *= y |
2 | **= | Возводить в степень присваивания | x **= y |
2 | /= | Деление присваивания | x /= y |
2 | %= | Оставшаяся часть присваивания | x %= y |
2 | <<= | Сдвиг влево присваивания | x <<= y |
2 | >>= | Сдвиг вправо присваивания | x >>= y |
2 | >>>= | Беззнаковое右омещение | x >>>= y |
2 | &= | Битовое и присваивания | x &= y |
2 | |= | Битовое или присваивания | x |= y |
2 | ^= | Битовое исключающее или присваивания | x ^= y |
2 | &&= | Логическое и присваивания | x &= y |
2 | ||= | Логическое или присваивания | x ||= y |
2 | => | Стрелка | x => y |
2 | yield | Пауза / возобновление | yield x |
2 | yield* | yield* | Делегирующий оператор |
2 | ... | Дополнительно оператор | ... x |
1 | , | Запятая | x, y |
- Предыдущая страница JS регулярные выражения
- Следующая страница JS исключения