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