Арифметические операторы JavaScript
Арифметические операторы — это основные инструменты для выполнения математических вычислений в JavaScript. Они работают с числами и возвращают числовые результаты.
Основные арифметические операторы
| Оператор | Название | Пример | Результат |
|---|---|---|---|
+ |
Сложение | 5 + 3 |
8 |
- |
Вычитание | 10 - 4 |
6 |
* |
Умножение | 7 * 2 |
14 |
/ |
Деление | 15 / 3 |
5 |
% |
Остаток от деления (модуль) | 17 % 5 |
2 (так как 17 = 3×5 + 2) |
Пример использования остатка:
const isEven = number => number % 2 === 0;
console.log(isEven(4)); // true
console.log(isEven(7)); // false
Возведение в степень
Оператор ** возводит первое число в степень, указанную вторым:
console.log(2 ** 4); // 16 (2 × 2 × 2 × 2)
console.log(9 ** 0.5); // 3 (квадратный корень из 9)
Это удобно для расчётов: например, при вычислении площади квадрата или сложных процентов.
Унарный плюс и минус
Унарный плюс + преобразует значение в число:
console.log(+"42"); // 42 (строка → число)
console.log(+"hello"); // NaN (непреводимая строка)
console.log(+true); // 1
console.log(+false); // 0
Унарный минус - меняет знак числа:
console.log(-5); // -5
console.log(-(3 + 2)); // -5
console.log(-"10"); // -10 (сначала приведение к числу, потом отрицание)
Инкремент и декремент
Инкремент ++ увеличивает значение на 1, декремент -- уменьшает на 1.
Различают две формы:
Префиксная форма (++x, --x)
Сначала изменяет значение, потом возвращает его:
let a = 5;
console.log(++a); // 6 — сначала прибавили, потом вернули
console.log(a); // 6
Постфиксная форма (x++, x--)
Сначала возвращает текущее значение, потом изменяет:
let b = 5;
console.log(b++); // 5 — вернули старое значение
console.log(b); // 6 — теперь уже увеличено
💡 Важно: в циклах и выражениях разница между
i++и++iможет привести к ошибкам, если не учитывать порядок.
Особенности: NaN и Infinity
JavaScript имеет специальные числовые значения, которые появляются при некорректных операциях.
NaN — Not a Number
Появляется, когда операция не может быть выполнена:
console.log(0 / 0); // NaN
console.log("abc" * 2); // NaN
console.log(NaN + 5); // NaN
console.log(NaN === NaN); // false — важно! NaN не равен самому себе
Для проверки на NaN используйте Number.isNaN():
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN("hello")); // false
Infinity — бесконечность
Получается при делении на ноль или при переполнении:
console.log(1 / 0); // Infinity
console.log(-1 / 0); // -Infinity
console.log(Number.MAX_VALUE * 2); // Infinity
console.log(Infinity + 1); // Infinity
console.log(Infinity - Infinity); // NaN
⚠️ Не используйте
== Infinityдля проверки — лучше применятьisFinite():console.log(isFinite(1000)); // true console.log(isFinite(Infinity)); // false