Арифметические операции в TypeScript
Что это и зачем?
Представь, что ты — кассир в магазине сладостей. К тебе приходят покупатели и просят посчитать, сколько стоят 3 шоколадки по 50 рублей, или сколько сдачи нужно дать с 500 рублей, если купили пирожное за 120 рублей. Чтобы всё это быстро посчитать, тебе нужно складывать, вычитать, умножать и делить числа. В программировании то же самое! Арифметические операции — это базовые математические действия, которые компьютер выполняет за доли секунды. Они нужны, чтобы обрабатывать числа: считать очки в игре, вычислять скидку в интернет-магазине, определять возраст пользователя или даже рисовать графику.
В TypeScript (и JavaScript) арифметика работает почти как на обычном калькуляторе, но с некоторыми хитростями. Ты можешь написать программу, которая сложит два числа, и компьютер выдаст результат. Это основа, без которой не обходится ни один серьёзный проект. Даже если ты хочешь сделать простую игру "Угадай число", тебе придётся сравнивать числа и вычислять разницу. Поэтому давай разберёмся, как это работает!
Синтаксис и примеры кода
В TypeScript есть 5 основных арифметических операций: сложение (+), вычитание (-), умножение (*), деление (/) и взятие остатка от деления (%). Есть ещё возведение в степень (**), но это уже чуть сложнее. Давай посмотрим на примеры.
// Пример 1: Сложение — считаем общую стоимость покупок
let ценаШоколадки: number = 50;
let количество: number = 3;
let общаяСтоимость: number = ценаШоколадки + ценаШоколадки + ценаШоколадки;
// Можно проще: let общаяСтоимость = ценаШоколадки * количество;
console.log("Общая стоимость:", общаяСтоимость); // Выведет: Общая стоимость: 150
В этом примере мы складываем три числа. Обрати внимание: мы объявили переменные с типом number — это значит, что они хранят числа. Если забыть указать тип, TypeScript сам догадается, но для новичков лучше писать явно.
// Пример 2: Вычитание — считаем сдачу
let деньгиПокупателя: number = 500;
let ценаПирожного: number = 120;
let сдача: number = деньгиПокупателя - ценаПирожного;
console.log("Сдача:", сдача); // Выведет: Сдача: 380
Вычитание работает так же, как в жизни. Если у тебя было 500 рублей, а ты потратил 120, останется 380. Компьютер делает это мгновенно.
// Пример 3: Умножение — считаем площадь комнаты
let длина: number = 5;
let ширина: number = 4;
let площадь: number = длина * ширина;
console.log("Площадь комнаты:", площадь, "кв.м."); // Выведет: Площадь комнаты: 20 кв.м.
Умножение пригодится, когда нужно посчитать что-то повторяющееся. Например, если в коробке 6 рядов по 4 конфеты, всего конфет будет 6 * 4 = 24.
// Пример 4: Деление — делим пиццу на друзей
let кусочковПиццы: number = 8;
let друзей: number = 3;
let каждому: number = кусочковПиццы / друзей;
console.log("Каждому достанется:", каждому, "кусочка");
// Выведет: Каждому достанется: 2.6666666666666665 кусочка
Обрати внимание: результат деления может быть дробным. В TypeScript дробные числа записываются через точку, а не через запятую. Если нужно целое число, используют специальные функции, но это позже.
// Пример 5: Остаток от деления — чётное или нечётное число?
let число: number = 7;
let остаток: number = число % 2;
console.log("Остаток от деления на 2:", остаток); // Выведет: Остаток от деления на 2: 1
// Если остаток 0 — число чётное, если 1 — нечётное
Оператор % (процент) показывает, сколько останется, если разделить число нацело. Например, 7 делим на 2 — получается 3 целых и 1 в остатке. Это часто используют, чтобы проверять, делится ли число на другое без остатка.
Ещё один важный момент: в TypeScript можно комбинировать операции, как в математике. Умножение и деление выполняются раньше сложения и вычитания, если нет скобок. Скобки меняют порядок:
let результат1: number = 2 + 3 * 4; // Сначала 3*4=12, потом 2+12=14
let результат2: number = (2 + 3) * 4; // Сначала 2+3=5, потом 5*4=20
console.log("Без скобок:", результат1, "Со скобками:", результат2);
Сравнение с Python
Python — ещё один популярный язык для начинающих. В нём арифметика очень похожа, но есть отличия. Давай сравним:
// TypeScript
let a: number = 10;
let b: number = 3;
console.log(a + b); // 13
console.log(a - b); // 7
console.log(a * b); // 30
console.log(a / b); // 3.3333333333333335
console.log(a % b); // 1
console.log(a ** b); // 1000 (10 в степени 3)
# Python
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333333333333335
print(a % b) # 1
print(a ** b) # 1000 (10 в степени 3)
Как видишь, синтаксис почти одинаковый! Главные отличия:
- В TypeScript нужно указывать тип переменной (
: number) или использоватьlet/const. В Python просто пишешь имя переменной. - В TypeScript для вывода на экран используется
console.log(), в Python —print(). - В Python деление всегда возвращает дробное число (float), даже если делится нацело. В TypeScript тоже дробное, но есть нюансы с целыми числами (тип
numberвключает и целые, и дробные). - Возведение в степень в Python —
**, в TypeScript — тоже**(появилось в современном стандарте).
Если ты знаешь Python, то освоить арифметику в TypeScript будет очень легко — просто запомни новые команды для вывода и объявления переменных.
Типичные ошибки новичков
Вот что чаще всего идёт не так у тех, кто только начинает программировать на TypeScript:
- Забывают объявить переменную. Если написать
сумма = 5 + 3безletилиconst, TypeScript выдаст ошибку. Всегда пишиlet имя: тип = значение;. - Путают тип number и string. Если написать
let a: number = "5", будет ошибка, потому что кавычки делают число текстом. Числа пишутся без кавычек:let a: number = 5. - Делят на ноль. В математике на ноль делить нельзя. В TypeScript это не вызовет ошибку, но результат будет специальным значением
InfinityилиNaN(Not a Number). Например,console.log(10 / 0)выведетInfinity. Это может сломать программу, если ты потом будешь использовать результат. - Забывают про порядок операций. Как в примере выше:
2 + 3 * 4— это 14, а не 20. Если хочешь другой порядок, ставь скобки. - Путают = и ==. Один знак равенства (
=) — это присваивание (положить значение в переменную). Два знака (==) — это сравнение (проверить, равны ли числа). В арифметике используется только=. - Используют запятую вместо точки. В TypeScript дробные числа пишутся через точку:
3.14, а не3,14. Запятая используется для разделения аргументов в функциях.
Вот пример неправильного кода и как его исправить:
// Ошибка: забыли let и тип
сумма = 10 + 20; // Ошибка!
// Правильно:
let сумма: number = 10 + 20;
// Ошибка: деление на ноль
let результат: number = 100 / 0;
console.log(результат); // Infinity — это не число, а бесконечность
// Лучше проверять:
let делитель: number = 0;
if (делитель !== 0) {
результат = 100 / делитель;
} else {
console.log("На ноль делить нельзя!");
}
Итог
Арифметические операции — это первый шаг к тому, чтобы научить компьютер считать. Ты уже знаешь, как складывать, вычитать, умножать, делить и находить остаток. Эти навыки пригодятся в любом проекте: от простого калькулятора до сложной игры. Главное — не бояться ошибок и помнить про типы данных. Попробуй написать небольшую программу, которая считает, сколько дней ты прожил (возраст в годах умножь на 365), или посчитай, сколько карманных денег накопится за месяц, если откладывать по 100 рублей в день. Экспериментируй — и скоро ты будешь чувствовать себя уверенно!