Приоритет описывает порядок, в котором выполняются операции в арифметическом выражении.
Как и в традиционной математике, сначала выполняется умножение:
let x = 100 + 50 * 3;
Попробуйте сами »
При использовании круглых скобок сначала вычисляются операции внутри круглых скобок:
let x = (100 + 50) * 3;
Попробуйте сами »
Если операторы имеют одинаковый приоритет (например, + и -), они вычисляются слева направо:
let x = 100 / 50 * 3;
Попробуйте сами »
Значения приоритета оператораВыражения в круглых скобках вычисляются перед остальной частью выраженияФункция выполняется перед результат используется в остальной части выражения. |
|||
| Вэл | Оператор | Описание | Пример |
| 18 | ( ) | Приоритет операторов | (100 + 50) * 3 |
| 17 | . | Название в | car.name |
| 17 | [] | Название в | car["name"] |
| 17 | ?. | Доп. связывание ES2020 | x ?. y |
| 17 | () | Вызов функции | myFunction() |
| 17 | new | Новое с аргументами | new Date("June 5,2022") |
| 16 | new | Новое без аргументов | new Date() |
|
Операторы приращения Приращения постфикса выполняются перед приращения префикса |
|||
| 15 | ++ | Инкремент постпрефикса | i++ |
| 15 | -- | Декремент постпрефикса | i-- |
| 14 | ++ | Инкремент префикса | ++i |
| 14 | -- | Декремент префикса | --i |
| NOT операторы | |||
| 14 | ! | Логическое NOT | !(x==y) |
| 14 | ~ | Побитовое NOT | ~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 | + | Конкатенация | "Андрей" + "Щипунов" |
| Стрелочные операторы | |||
| 10 | << | Сдвиг влево | x << 2 |
| 10 | >> | Сдвиг вправо (подписано) | x >> 2 |
| 10 | >>> | Сдвиг вправо (без подписи) | x >>> 2 |
| Реляционные операторы | |||
| 9 | in | Свойство в объекте | "PI" в Math |
| 9 | instanceof | Экземпляр объекта | x instanceof Массив |
| Операторы сравнения | |||
| 9 | < | Меньше чем | x < y |
| 9 | <= | Меньше или равно | x <= y |
| 9 | > | Больше чем | x > y |
| 9 | >= | Больше или равно | x >= Массив |
| 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 |