Арифметические операторы в JavaScript
- Что такое арифметические операторы
- Основные операторы
- Сложение и вычитание
- Умножение и деление
- Остаток от деления
- Возведение в степень
- Унарный плюс и минус
- Приоритет операций
- Плюс и строки
- Итого
Арифметические операторы нужны для вычислений: сложить цену и доставку, умножить стоимость товара на количество, найти остаток от деления или возвести число в степень.
let price = 500;
let count = 3;
let total = price * count;
console.log(total);
Результат:
1500
Здесь оператор * умножает price на count, а результат записывается в переменную total.
Что такое арифметические операторы
Арифметический оператор - это знак, который выполняет математическое действие над числами.
let result = 10 + 5;
В этом примере + - оператор, а 10 и 5 - значения, с которыми он работает.
Чаще всего арифметические операторы используют с числами, но JavaScript иногда сам пытается преобразовать значения к числу. Из-за этого важно понимать, что именно лежит в переменных.
Основные операторы
В JavaScript есть несколько основных арифметических операторов:
+- сложение;-- вычитание;*- умножение;/- деление;%- остаток от деления;**- возведение в степень.
console.log(10 + 2);
console.log(10 - 2);
console.log(10 * 2);
console.log(10 / 2);
Результат:
12
8
20
5
Сложение и вычитание
Оператор + складывает числа.
let price = 1000;
let delivery = 300;
let total = price + delivery;
console.log(total);
Результат:
1300
Оператор - вычитает одно число из другого.
let balance = 2000;
let payment = 750;
let rest = balance - payment;
console.log(rest);
Результат:
1250
Такие вычисления удобно выносить в переменные с понятными именами. Тогда по коду легче понять, что именно считается.
Умножение и деление
Оператор * умножает числа.
let itemPrice = 250;
let count = 4;
console.log(itemPrice * count);
Результат:
1000
Оператор / делит одно число на другое.
let total = 1200;
let users = 3;
console.log(total / users);
Результат:
400
Если делить на ноль, JavaScript вернет Infinity.
console.log(10 / 0);
Результат:
Infinity
В обычных расчетах такой результат чаще всего означает, что нужно проверить делитель.
Остаток от деления
Оператор % возвращает остаток от деления.
console.log(10 % 3);
Результат:
1
Число 10 делится на 3 три раза, а в остатке остается 1.
Остаток часто используют, чтобы проверить, делится ли число на другое без остатка.
let number = 8;
console.log(number % 2);
Результат:
0
Если остаток равен 0, значит число делится нацело. Например, так можно проверять четные числа.
Возведение в степень
Оператор ** возводит число в степень.
console.log(2 ** 3);
Результат:
8
Это то же самое, что умножить 2 на себя три раза.
console.log(2 * 2 * 2);
Степень удобно использовать, когда нужно посчитать квадрат или куб числа.
let side = 5;
let square = side ** 2;
console.log(square);
Результат:
25
Унарный плюс и минус
Операторы + и - могут работать не только между двумя значениями, но и перед одним значением.
Унарный минус меняет знак числа:
let temperature = 7;
console.log(-temperature);
Результат:
-7
Унарный плюс пытается преобразовать значение в число.
let value = '25';
console.log(+value);
console.log(typeof +value);
Результат:
25
number
Такой прием встречается в коде, но на первых порах понятнее использовать Number(). По нему сразу видно, что мы преобразуем значение в число.
Приоритет операций
JavaScript выполняет арифметические операции не просто слева направо. У операторов есть приоритет.
let result = 2 + 3 * 4;
console.log(result);
Результат:
14
Сначала выполнилось умножение 3 * 4, потом сложение.
Если порядок нужно изменить, используйте скобки.
let result = (2 + 3) * 4;
console.log(result);
Результат:
20
В реальном коде скобки часто ставят не только ради математики, но и ради читаемости. Если выражение можно понять с первого взгляда, с ним проще работать.
Плюс и строки
С оператором + нужно быть внимательнее. Он умеет не только складывать числа, но и склеивать строки.
console.log(10 + 5);
console.log('10' + 5);
Результат:
15
105
Во втором примере ‘10’ - строка. Поэтому JavaScript не сложил числа, а собрал строку ‘105’.
Если значение пришло строкой, например из prompt(), его нужно преобразовать в число перед вычислением.
let first = '10';
let second = '5';
console.log(Number(first) + Number(second));
Результат:
15
С другими арифметическими операторами JavaScript чаще пытается преобразовать строки к числам.
console.log('10' - 5);
console.log('10' * 5);
Результат:
5
50
Но лучше не строить код на таких догадках. Если нужно число, преобразуйте значение явно.
Итого
Арифметические операторы помогают выполнять вычисления с числами.
+,-,*и/нужны для основных математических действий.%возвращает остаток от деления.**возводит число в степень.- Унарный
-меняет знак числа, а унарный+пытается преобразовать значение в число. - Умножение и деление выполняются раньше сложения и вычитания.
- Оператор
+со строками может выполнять склеивание, а не сложение.