JavaScript Пріоритет оператора
Пріоритет описує порядок виконання операцій в арифметичному виразі.
Як і в традиційній математиці, спочатку виконується множення:
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 | void(0) |
14 | delete | Властивість Delete | delete myCar.color |
Арифметичні оператори Зведення до степеня виконується перед множенням Множення та ділення виконується перед додаванням і відніманням |
|||
13 | ** | Піднесення до степеня ES2016 | 10 ** 2 |
12 | * | Множення | 10 * 5 |
12 | / | Ділення | 10 / 5 |
12 | % | Залишок від ділення | 10 % 5 |
11 | + | Додавання | 10 + 5 |
11 | - | Віднімання | 10 - 5 |
11 | + | Конкатенація | "John" + "Doe" |
Оператори зсуву | |||
10 | << | Зсув ліворуч | x << 2 |
10 | >> | Зсув праворуч (зі знаком) | x >> 2 |
10 | >>> | Зсув праворуч (без знаку) | x >>> 2 |
Оператори відношення | |||
9 | in | Властивість в об’єкті | "PI" in Math |
9 | instanceof | Примірник Object | 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 | ? : | Умова | ? "yes" : "no" |
Оператори присвоєння Присвоєння виконуються після інших операцій |
|||
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 | Pause / Resume | yield x |
2 | yield* | Delegate | yield* x |
2 | ... | Поширення | ...x |
1 | , | Comma | x , y |