Операторы
Операторы — это знаки, которые выполняют действия над значениями: складывают, умножают, присваивают. Результат работы оператора можно вывести или сохранить в переменную.
Что такое оператор
Оператор стоит между значениями и возвращает результат. Самый простой пример — сложение:
console.log(7 + 2); // 9Здесь + — оператор, а 7 и 2 — операнды, то есть значения, над которыми он работает. Запись из значений и операторов называют выражением.
Арифметические операторы
| Оператор | Действие | Пример | Результат |
|---|---|---|---|
+ | Сложение | 7 + 2 | 9 |
- | Вычитание | 7 - 2 | 5 |
* | Умножение | 7 * 2 | 14 |
/ | Деление | 7 / 2 | 3.5 |
% | Остаток от деления | 7 % 2 | 1 |
** | Возведение в степень | 7 ** 2 | 49 |
Деление в JavaScript всегда точное: 7 / 2 даёт 3.5, а не 3.
Остаток от деления
Оператор % возвращает то, что осталось после деления нацело. Например, 7 делится на 3 два раза, и остаётся 1:
console.log(7 % 3); // 1Остаток часто используют, чтобы проверить чётность: у чётного числа остаток от деления на 2 равен нулю.
console.log(10 % 2); // 0
console.log(11 % 2); // 1Приоритет операций
Как и в математике, умножение и деление выполняются раньше сложения и вычитания:
console.log(2 + 3 * 4); // 14Порядок меняют круглые скобки:
console.log((2 + 3) * 4); // 20Если сомневаетесь в порядке — ставьте скобки: код станет понятнее и вам, и другим.
Составное присваивание
Запись total = total + 5 можно сократить до total += 5. Такие же сокращения есть для остальных операций: -=, *=, /=:
let total = 10;
total += 5;
console.log(total); // 15Составное присваивание удобно, когда значение накапливается: сумма заказа, счёт в игре, количество попыток.
Увеличение и уменьшение на единицу
Операторы ++ и -- меняют значение переменной на единицу. Их называют инкрементом и декрементом:
let lives = 3;
lives--;
console.log(lives); // 2Чаще всего ++ встречается в циклах, где нужно считать шаги.
Частая ошибка
Оператор + не только складывает числа, но и склеивает строки. Если хотя бы одно значение — строка, получится склейка, а не сумма. Остальные операторы работают только с числами, поэтому превращают строку в число:
console.log('5' + 3); // 53
console.log('5' - 3); // 2Данные из полей формы всегда приходят строками, поэтому перед сложением их нужно преобразовать функцией Number().