JavaScript Арифметичні оператори
JavaScript Арифметичні оператори
Арифметичні оператори виконують арифметику над числами (літералами або змінними).
Оператор | Опис |
---|---|
+ | Додавання |
- | Віднімання |
* | Множення |
** | Піднесення до степеня (ES2016) |
/ | Ділення |
% | Модуль (залишок) |
++ | Інкремент (приріст) |
-- | Декремент (зменшення) |
Арифметичні операції
Звичайна арифметична операція виконується з двома числами.
Ці два числа можуть бути літералами:
або змінні:
або вирази:
Оператори та операнди
Числа (в арифметичній операції) називаються операндами.
Операція (яка виконується між двома операндами) визначається оператором.
Операнд | Оператор | Операнд |
---|---|---|
100 | + | 50 |
Додавання
Оператор додавання (+
) додає числа:
Віднімання
Оператор віднімання (-
) віднімає числа.
Множення
Оператор множення (*
) множить числа.
Ділення
Оператор ділення (/
) ділить числа.
Залишок
Оператор модуль (%
) повертає залишок від ділення.
В арифметиці ділення двох цілих чисел створює частку та залишок.
У математиці результатом операції за модулем є залишок від арифметичного ділення.
Інкремент (Збільшення)
Оператор інкременту (++
) збільшує числа.
Декремент (Зменшення)
Оператор декременту (--
) зменшує числа.
Піднесення до степеня
Оператор піднесення до степеня (**
) підносить перший операнд до степеня другого операнда.
x ** y дає такий самий результат, як Math.pow(x,y)
:
Пріоритет оператора
Пріоритет операторів описує порядок виконання операцій в арифметичному виразі.
Результат у прикладі вище такий самий, як 150 * 3, чи він такий самий, як 100 + 150?
Спочатку виконується додавання чи множення?
Як і в традиційній шкільній математиці, спочатку виконується множення.
Множення (*
) і ділення (/
) мають вищий пріоритет ніж додавання (+
) і віднімання (-
).
І (як у шкільній математиці) пріоритет можна змінити за допомогою круглих дужок:
Під час використання дужок спочатку обчислюються операції всередині дужок.
Якщо багато операцій мають однаковий пріоритет (наприклад, додавання та віднімання), вони обчислюються зліва направо:
JavaScript Значення пріоритету оператора
Блідо-червоні записи вказують на ECMAScript 2015 (ES6) або вище.
Значення | Оператор | Опис | Приклад |
---|---|---|---|
21 | ( ) | Групування виразів | (3 + 4) |
20 | . | Член | person.name |
20 | [] | Член | person["name"] |
20 | () | Виклик функції | myFunction() |
20 | new | Створити | new Date() |
18 | ++ | Постфікс інкремент | i++ |
18 | -- | Постфікс декремент | i-- |
17 | ++ | Префікс інкремент | ++i |
17 | -- | Префікс декремент | --i |
17 | ! | Логічне не | !(x==y) |
17 | typeof | Тип | typeof x |
16 | ** | Піднесення до степеня (ES2016) | 10 ** 2 |
15 | * | Множення | 10 * 5 |
15 | / | Ділення | 10 / 5 |
15 | % | Залишок від ділення | 10 % 5 |
14 | + | Додавання | 10 + 5 |
14 | - | Віднімання | 10 - 5 |
13 | << | Зсув ліворуч | x << 2 |
13 | >> | Зсув праворуч | x >> 2 |
13 | >>> | Зсув праворуч (без знаку) | x >>> 2 |
12 | < | Менше ніж | x < y |
12 | <= | Меньше ніж або дорівнює | x <= y |
12 | > | Більше ніж | x > y |
12 | >= | Більше ніж або дорівнює | x >= y |
12 | in | Властивість в об’єкті | "PI" в Математиці |
12 | instanceof | Примірник об’єкта | instanceof Array |
11 | == | Дорівнює | x == y |
11 | === | Суворо дорівнює | x === y |
11 | != | Не дорівнює | x != y |
11 | !== | Суворо не дорівнює | x !== y |
10 | & | Побітове AND | x & y |
9 | ^ | Побітове XOR | x ^ y |
8 | | | Побітове OR | x | y |
7 | && | Логічне AND | x && y |
6 | || | Логічне OR | x || y |
5 | ?? | Нульове злиття | x ?? y |
4 | ? : | Стан | ? "Yes" : "No" |
3 | += | Присвоєння | x += y |
3 | /= | Присвоєння | x /= y |
3 | -= | Присвоєння | x -= y |
3 | *= | Присвоєння | x *= y |
3 | %= | Присвоєння | x %= y |
3 | <<= | Присвоєння | x <<= y |
3 | >>= | Присвоєння | x >>= y |
3 | >>>= | Присвоєння | x >>>= y |
3 | &= | Присвоєння | x &= y |
3 | ^= | Присвоєння | x ^= y |
3 | |= | Присвоєння | x |= y |
2 | yield | Функція паузи | yield x |
1 | , | Кома | 5 , 6 |
Вирази в дужках повністю обчислюються перед використанням значення в решті виразу.