JavaScript Арифметические операторы
Арифметические операторы выполняют арифметические действия с числами (литералами или переменными).
| Оператор | Описание |
|---|---|
| + | Добавление |
| - | Вычитание |
| * | Умножение |
| ** | Возведение в степень (ES2016) |
| / | Деление |
| % | Модуль (Остаток) |
| ++ | Инкремент |
| -- | Декремент |
JavaScript Арифметические операции
Типичная арифметическая операция работает с двумя числами.
Два числа могут быть литералами:
var x = 100 + 50;
Попробуйте сами »
или переменные:
var x = a + b;
Попробуйте сами »
или выражения:
var x = (100 + 50) * a;
Попробуйте сами »
JavaScript Операторы и операнды
Числа (в арифметической операции) называются операндами.
Операция (выполняемая между двумя операндами) определяется оператором.
| Операнд | Оператор | Операнд |
|---|---|---|
| 100 | + | 50 |
JavaScript Добавление
Оператор сложения (+) складывает числа:
var x = 5;
var y = 2;
var z = x + y;
Попробуйте сами »
JavaScript Вычитание
Оператор вычитания (-) вычитает числа.
var x = 5;
var y = 2;
var z = x - y;
Попробуйте сами »
JavaScript Умножение
Оператор умножения (*) умножает числа.
var x = 5;
var y = 2;
var z = x * y;
Попробуйте сами »
JavaScript Деление
Оператор деления (/) делит числа.
var x = 5;
var y = 2;
var z = x / y;
Попробуйте сами »
JavaScript Остаток
Оператор модуля (%) возвращает остаток от деления.
var x = 5;
var y = 2;
var z = x % y;
Попробуйте сами »
В арифметике деление двух целых чисел дает частное и остаток.
В математике результатом операции по модулю является остаток от арифметического деления.
JavaScript Увеличение
Оператор инкремента (++) увеличивает числа.
var x = 5;
x++;
var z = x;
Попробуйте сами »
JavaScript Уменьшение
Оператор декремента (--) уменьшает числа.
var x = 5;
x--;
var z = x;
Попробуйте сами »
JavaScript Возведение в степень
Оператор возведения в степень (**) возводит первый операнд в степень второго операнда.
var x = 5;
var z =
x ** 2; // результат 25
Попробуйте сами »
x ** y дает тот же результат, что и Math.pow(x,y):
var x = 5;
var z =
Math.pow(x,2); // результат 25
Попробуйте сами »
JavaScript Приоритет оператора
Приоритет операторов описывает порядок, в котором операции выполняются в арифметическом выражении.
var x = 100 + 50 * 3;
Попробуйте сами »
Результат приведенного выше примера такой же, как 150 * 3, или он такой же, как 100 + 150?
Сначала выполняется сложение или умножение?
Как и в традиционной школьной математике, сначала выполняется умножение.
Умножение (*) и деление (/) имеют более высокий приоритет,
чем сложение (+) и вычитание (-).
И (как в школьной математике) приоритет можно изменить, используя круглые скобки:
var x = (100 + 50) * 3;
Попробуйте сами »
При использовании скобок сначала вычисляются операции внутри скобок.
Когда многие операции имеют одинаковый приоритет (например, сложение и вычитание), они вычисляются слева направо:
var x = 100 + 50 - 3;
Попробуйте сами »
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 | ! | Логический not | !(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" в Math |
| 11 | instanceof | Экземпляр объекта | Массив instanceof |
| 10 | == | Равно | x == y |
| 10 | === | Строго равно | x === y |
| 10 | != | Неравно | x != y |
| 10 | !== | Строго неравно | x !== y |
| 9 | & | Побитовое И | x & y |
| 8 | ^ | Побитовое НЕ ИЛИ | x ^ y |
| 7 | | | Побитовое ИЛИ | x | y |
| 6 | && | Логический И | x && y |
| 5 | || | Логический ИЛИ | x || y |
| 4 | ? : | Состояние | ? "Да" : "НЕТ" |
| 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 |
Выражения в скобках полностью вычисляются до того, как значение будет использовано в остальной части выражения.