TypeScript
JavaScript с проверкой типов: код описывает, какие данные ожидаются, и ошибки находятся до запуска, а не у пользователей.
TypeScript — язык программирования от Microsoft, впервые представленный в 2012 году. Это надстройка над JavaScript: любой код на JavaScript — уже корректный TypeScript, а сверху добавлены типы. Перед запуском TypeScript проверяет программу и превращает ее в обычный JavaScript, который понимает браузер или сервер.
Пример
interface Order {
id: number;
status: "new" | "paid" | "cancelled";
amount: number;
}
function paidTotal(orders: Order[]): number {
return orders
.filter(order => order.status === "paid")
.reduce((sum, order) => sum + order.amount, 0);
}
Интерфейс Order описывает заказ: у статуса всего три допустимых значения. Если где-то в коде написать "payed" с опечаткой или передать в функцию строку вместо списка заказов, TypeScript сообщит об ошибке сразу, в редакторе.
Что дает TypeScript
- Ошибки до запуска. Опечатки в названиях полей, неверные аргументы, забытые проверки на пустое значение — подробнее о подходе в термине «Статическая типизация».
- Подсказки в редакторе. Редактор знает структуру каждого объекта и подсказывает поля и методы.
- Безопасный рефакторинг. Переименовали поле — компилятор покажет все места, которые нужно поправить.
- Договор между частями системы. Типы ответов API описывают один раз, и фронтенд с бэкендом работают по одной схеме.
Где используется
TypeScript стал стандартом для больших веб-проектов. На нем написан редактор Visual Studio Code, фреймворк Angular, его поддерживают React, Next.js, Vue и React Native, на нем пишут серверы на Node.js. Новые версии Node.js умеют запускать TypeScript напрямую, просто отбрасывая типы.
Ограничения
Типы проверяются только при сборке: во время работы программы их уже нет. Поэтому данные, пришедшие снаружи — из формы, от чужого API, — все равно нужно проверять, например библиотеками вроде Zod. А сложные типы иногда превращаются в отдельную головоломку. Но для систем, которые годами развивает команда, плата за аннотации окупается быстро: меньше ошибок в работе и смелее изменения.