📘 TypeScript

Арифметические операции в 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:

  1. Забывают объявить переменную. Если написать сумма = 5 + 3 без let или const, TypeScript выдаст ошибку. Всегда пиши let имя: тип = значение;.
  2. Путают тип number и string. Если написать let a: number = "5", будет ошибка, потому что кавычки делают число текстом. Числа пишутся без кавычек: let a: number = 5.
  3. Делят на ноль. В математике на ноль делить нельзя. В TypeScript это не вызовет ошибку, но результат будет специальным значением Infinity или NaN (Not a Number). Например, console.log(10 / 0) выведет Infinity. Это может сломать программу, если ты потом будешь использовать результат.
  4. Забывают про порядок операций. Как в примере выше: 2 + 3 * 4 — это 14, а не 20. Если хочешь другой порядок, ставь скобки.
  5. Путают = и ==. Один знак равенства (=) — это присваивание (положить значение в переменную). Два знака (==) — это сравнение (проверить, равны ли числа). В арифметике используется только =.
  6. Используют запятую вместо точки. В 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 рублей в день. Экспериментируй — и скоро ты будешь чувствовать себя уверенно!