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

