Wiki · Технологии разработки
TypeScript
TypeScript – это язык программирования от Microsoft, который добавляет к JavaScript описание типов данных. Код проверяют до запуска, а потом превращают в обычный JavaScript, который работает в браузере и на сервере.
В смете подрядчика написано: «фронтенд на React и TypeScript». Для вас это значит, что часть ошибок, которые раньше находил покупатель на сайте, теперь находит программа ещё до выкладки. Разберём, как это работает, во что обходится и когда TypeScript проекту не нужен.
Какую ошибку TypeScript ловит до выкладки
В обычном JavaScript переменная может хранить что угодно: число, строку, пустое значение. Язык не спорит и пытается выполнить код как есть. TypeScript требует заранее описать, какие данные где ожидаются:
function orderTotal(price: number, delivery: number) {
return price + delivery;
}
orderTotal(form.price, 300); // ошибка: string вместо number
Цена из поля формы приходит строкой. В JavaScript этот код запустится, сложит строку с числом, и вместо 1 800 ₽ клиент увидит в корзине 1500300. TypeScript подчеркнёт строку ещё в редакторе и не даст собрать проект, пока ошибку не исправят.
Типом можно описать и целую структуру: какие поля есть у заказа, что возвращает API службы доставки, какие свойства принимает кнопка. Редактор подсказывает эти поля при наборе, а при переименовании находит все места, которые надо поправить.
Как TypeScript превращается в JavaScript
Браузер TypeScript не понимает. Перед выкладкой компилятор проверяет типы и убирает их из кода, на сайт уходит чистый JavaScript. Сборщики делают это автоматически вместе с остальной подготовкой файлов.

На сервере стало проще. В Node.js есть встроенное удаление типов: на октябрь 2026 года оно стабильно и включено по умолчанию, простые файлы .ts запускаются без отдельной сборки (часть конструкций языка, например enum, так не работает). Но Node.js типы только стирает и не проверяет, поэтому проверку всё равно запускают отдельно, обычно перед каждой выкладкой.
Когда TypeScript нужен, а когда хватит JavaScript
| Задача | Что подходит | Почему |
|---|---|---|
| Промо-лендинг на пару месяцев | JavaScript | кода мало, жить ему недолго |
| Виджет или скрипт на страницу CMS | JavaScript | десятки строк, отдельная сборка не окупится |
| Интернет-магазин, личный кабинет | TypeScript | много связанных данных, проект живёт годами |
| Интеграции с CRM, оплатой, доставкой | TypeScript | структура чужих данных описана явно |
| Над кодом работают несколько разработчиков | TypeScript | типы заменяют часть документации |

Что TypeScript даёт заказчику и во что обходится
- Передать проект другой команде проще: по типам видно, какие данные где ходят.
- Найм не сложнее, чем для JavaScript: проекты на React и Vue часто пишут на TypeScript, и разработчики с ним знакомы.
- Старт чуть дольше: надо описать типы и настроить проверку. На маленьком проекте это заметно, на большом окупается.
- Типы проверяются только при сборке. Данные из форм и чужих API во время работы всё равно надо проверять кодом.
Как узнать, что проект на TypeScript
На живом сайте не видно: браузер получает уже JavaScript. Смотрите в репозиторий. Там будут файлы .ts и .tsx, файл настроек tsconfig.json, а в package.json пакет typescript. Если проект переходит к вам от другого подрядчика, попросите показать, проходит ли проверка типов без ошибок. Сотни ошибок, которые «все игнорируют», говорят о качестве кода больше, чем любые обещания.
Как проект на TypeScript теряет пользу от типов
- Ставить тип any везде, где лень разбираться. Такой код формально на TypeScript, но проверок в нём нет.
- Отключать строгий режим strict, чтобы быстрее собрать проект.
- Переписывать большой работающий проект на TypeScript за один раз. Язык позволяет переходить постепенно, файл за файлом.
- Считать, что типы заменяют тестирование. Они ловят ошибки в данных, но не в логике.
Кто развивает TypeScript и что изменилось в 2026 году
TypeScript появился в Microsoft в 2012 году, его создатель и ведущий архитектор Андерс Хейлсберг. Язык открытый, код компилятора лежит на GitHub. В марте 2026 года вышел TypeScript 6.0, последний на старом компиляторе, в июле 2026 года TypeScript 7.0: компилятор переписали на Go, и по данным Microsoft он часто работает примерно в 10 раз быстрее. Для больших проектов это минуты, сэкономленные на каждой проверке.
Обновляться на 7.0 вслепую не стоит. Из новой версии убрали старые настройки, например сборку под ES5, а программного интерфейса для сторонних инструментов в 7.0 пока нет, его обещают в 7.1. Переход лучше планировать как отдельную задачу.
По отчёту GitHub Octoverse 2025, в августе 2025 года TypeScript впервые стал самым используемым языком на GitHub по числу участников, обогнав Python и JavaScript. GitHub связывает этот рост с ИИ-ассистентами: типы дают модели и человеку чёткие рамки. Мы каждый день пишем и ревьюим код вместе с Claude и GPT, и в таком процессе компилятор ловит часть ошибок раньше, чем до них дойдёт человек.
Пишем на TypeScript проекты, которые будут жить и расти годами, при разработке сайтов. Если проект уже работает на TypeScript, берём его на доработку и техническую поддержку.
Запуск, редактор и переход с JavaScript на TypeScript
Считается ли TypeScript отдельным языком программирования?
Да, у него свой компилятор и своя документация, но построен он поверх JavaScript и делит с ним синтаксис. Поэтому за TypeScript берутся, когда основы JavaScript уже освоены.
Как запустить файл .ts без отдельной сборки?
На сервере хватит свежей Node.js: команда node app.ts сама вырежет типы и выполнит файл. В браузер так не получится, туда всегда отдают собранный JavaScript. При прямом запуске типы никто не сверяет, поэтому перед выкладкой проверку компилятором tsc запускают отдельной командой. Учтите и исключения: enum и некоторые другие конструкции без сборки не заработают.
Как работать с TypeScript в VS Code?
VS Code понимает TypeScript без расширений: подсказывает поля объектов и подчёркивает ошибки прямо при наборе. Чтобы редактор и сборка проверяли код по одним правилам, держите в проекте tsconfig.json и пакет typescript, а в редакторе выберите версию TypeScript из проекта вместо встроенной.
Зачем React-проекту описывать типы компонентов?
Типы фиксируют, какие свойства ждёт каждый компонент и в каком виде приходят данные с сервера. Переименовали поле в карточке товара, и компилятор сразу показывает все компоненты, которые от этого сломаются. Когда компонентов сотни, без такой подсказки любая правка превращается в поиск вслепую, а новой команде приходится разбираться по коду.
Как перевести работающий сайт с JavaScript на TypeScript?
По частям. Компилятор умеет жить в проекте, где файлы .js и .ts лежат рядом, поэтому сначала настраивают проверку, а потом переводят модуль за модулем. Начинают с корзины, оплаты и интеграций, где путаница в данных обходится дороже всего. Сайт всё это время работает и получает доработки.
Почему проверка типов прошла, а форма на сайте всё равно сломалась?
Компилятор проверяет код до выкладки и не знает, что на самом деле пришлёт посетитель или чужой сервис. Если API доставки вернул пустое поле, а форма отправила текст вместо числа, типы этого не заметят. Такие данные проверяют кодом в момент получения, а расчёты и оплату дополнительно закрывают тестами.
Почему TypeScript стал самым популярным языком на GitHub?
GitHub в отчёте Octoverse 2025 объясняет это ИИ-ассистентами: по типам модели проще понять, какие данные ждёт функция, а часть ошибок в сгенерированном коде компилятор отсеивает сам. По числу участников TypeScript в августе 2025 года обошёл Python и JavaScript.
Документация и отчёты
- TypeScript: официальная документация и блог команды TypeScript в Microsoft (анонсы TypeScript 6.0 и 7.0)
- Документация Node.js: Modules: TypeScript
- GitHub Octoverse 2025
См. также: JavaScript, React, JavaScript SEO: CSR и SSR, Технический аудит сайта.
Остались вопросы по теме «TypeScript»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеДмитрий КолесниковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
