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

приоритет описывает порядок выполнения операций в арифметическом выражении.

пример

В традиционной математике сначала выполняется умножение:

let x = 100 + 50 * 3;

попробуйте сами

При использовании скобок сначала рассчитываются действия в скобках:

let x = (100 + 50) * 3;

попробуйте сами

Когда операторы имеют одинаковый приоритет (например, + и -), они рассчитываются слева направо:

let x = 100 / 50 * 3;

попробуйте сами

значение приоритета оператора

выражение в скобкахДоостальные выражения рассчитываются.

функция используется в других выраженияхраньшеВыполнение.

значение оператор описание пример
43 ( ) группировка выражения (100 + 50) * 3
17 . член car.name
17 [] член car["name"]
17 ?. оператор опциональной цепочки ES2020 x ?. y
17 () вызов функции myFunction()
17 new создание с параметрами new Date("June 6,2025")
16 new создание без параметров new Date()

оператор увеличения

постфиксное увеличениеДовыполнение префиксного увеличения

15 ++ постфиксное увеличение i++
15 -- постфиксное уменьшение i--
14 ++ префиксное увеличение ++i
14 -- префиксное уменьшение --i

оператор НЕ

14 ! логическое НЕ !(x==y)
14 ~ NOT ~x

Унарные операторы

14 + Унарное сложение +x
14 - Унарное вычитание -x
14 typeof Тип данных typeof x
14 void Оценка 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 & Битовое AND x & y
6 ^ Битовое XOR x ^ y
5 | Битовое OR x | y

Логические операторы

4 && Логическое AND x && y
3 || Логическое OR x || y
3 ?? Объединение пустых значений ES2020 x ?? y

Условный (трёхаргументный) оператор

2 ? : Условие ? "да" : "нет"

Оператор присваивания

Присваивание среди других операцийЗатемВыполнение.

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 &= AND присваивания x &= y
2 |= OR присваивания x |= y
2 ^= Битовое XOR присваивание x ^= y
2 &= Логическое AND присваивание x &= y
2 ||= Логическое OR присваивание x ||= y
2 : Прямое присваивание с точкой с запятой x : 5
2 => Стрелка x => y
2 yield Приостановка/восстановление yield x
2 yield* Делегирование yield* x
2 ... Расширение ...x
1 , Запятая x, y