Что это простыми словами
TypeScript — это язык JavaScript, только с проверкой ошибок заранее, до того как код запустят.
Аналогия: представьте, что вы отправляете важное письмо. Можно отправить сразу и узнать об опечатках только тогда, когда получатель ответит с недоумением. А можно сначала прогнать текст через проверку орфографии — и часть ошибок поймать до отправки. TypeScript — это такая проверка для кода: он не даёт запустить программу, если разработчик перепутал, например, число с текстом.
Важно: это не отдельный, самостоятельный язык вроде Python или Java. Это надстройка над JavaScript: весь код на TypeScript в итоге превращается обратно в обычный JavaScript, потому что именно его понимает браузер.
Официальное определение
Теперь, когда суть понятна, вот как TypeScript описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.
«TypeScript — строго типизированный язык программирования, являющийся надмножеством JavaScript и компилируемый в чистый JavaScript».
Разберём по словам. «Строго типизированный» — разработчик заранее указывает, что где хранится: число, текст, список. Язык это проверяет и не даёт перепутать. «Надмножество JavaScript» — весь обычный JavaScript-код одновременно является корректным TypeScript-кодом, просто TypeScript добавляет к нему ещё правила. «Компилируется в JavaScript» — перед тем как код попадёт в браузер, специальная программа переводит его обратно в обычный JavaScript, потому что именно его умеет исполнять браузер.
Зачем нужен и какие задачи решает
В обычном JavaScript ошибку — например, если функция вместо числа неожиданно получила текст — можно обнаружить только когда программа уже запущена, иногда прямо у пользователя на экране. На маленьком сайте это терпимо. Но когда над одним большим проектом работают десятки разработчиков и код меняется каждый день, такие ошибки становятся дорогими и находятся слишком поздно.
TypeScript решает эту боль: он ловит целый класс ошибок ещё на этапе написания кода, прямо в редакторе, до того как что-то сломается у пользователя. Поэтому его выбирают там, где важна надёжность и где над кодом работает команда, а не один человек.
В каких сферах используется и как понять, какой это разработчик
В отличие от языков вроде Python, у TypeScript нет отдельных «непохожих миров» — он живёт внутри мира JavaScript и решает ту же задачу — фронтенд, то есть видимую часть сайтов и приложений. Разработчик, который пишет на TypeScript, — это, как правило, тот же frontend-разработчик, просто использующий более строгий и надёжный вариант JavaScript.
В резюме TypeScript почти всегда стоит рядом с одним из главных фреймворков фронтенда — React, Vue или Angular. Именно этот сосед и подскажет вам, с каким конкретно инструментом работал кандидат — сам TypeScript от этого выбора не зависит и одинаково хорошо сочетается со всеми тремя.
С чем взаимозаменяем
TypeScript не взаимозаменяем с самим JavaScript в смысле выбора между ними — это не конкуренты, а два уровня одного и того же: любой TypeScript-разработчик по сути и есть JavaScript-разработчик, просто использующий дополнительный инструмент проверки. Отдельного «мира TypeScript-специалистов» не существует.
А вот с другими языками программирования (Python, Java, Go) TypeScript, как и обычный JavaScript, почти не взаимозаменяем: опыт между ними не переносится напрямую, это разные технологии для разных задач.
Что не путать
TypeScript ≠ отдельный язык вроде Python или Java. Это надстройка именно над JavaScript, и без знания JavaScript TypeScript не освоить.
TypeScript ≠ фреймворк. Это не React, не Vue и не Angular — это язык, на котором можно писать код для любого из них.
«Пишу на JS» и «пишу на TS» — не взаимоисключающие фразы. Кандидат, знающий TypeScript, автоматически знает и обычный JavaScript.
TypeScript и Java звучат немного похоже по названию, но это никак не связанные между собой языки, как и JavaScript с Java.
Насколько это важно при отборе
Короткий ответ: на уровне middle и выше это почти обязательное требование, но не повод для жёсткого отсева сам по себе.
Раз TypeScript — это JavaScript с дополнительными правилами, любой разработчик, уверенно знающий JavaScript, способен освоить TypeScript относительно быстро — это не смена языка, а добавление одного навыка поверх уже имеющегося. Поэтому, если в вакансии указан TypeScript, а у кандидата в резюме только JavaScript, но много опыта, — это повод спросить на скрининге, работал ли он с типизацией, а не сразу отказывать.
Для джуна отсутствие TypeScript — нормально. А вот если middle- или senior-кандидат никогда с ним не сталкивался в большом проекте, это стоит уточнить отдельно: на таком уровне TypeScript уже стал отраслевым стандартом.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.