Прiorитет операций операторов JavaScript

Приоритет операторов (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

Дополнительная информация

Уроки:Операторы JavaScript

Руководство по:Операторы JavaScript