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 |
Выражения в скобках полностью вычисляются до того, как значение используется в остальной части выражения.