TypeScript создан Microsoft в 2012 году, ведущий разработчик — Андерс Хейлсберг (автор Delphi и C#). Язык добавляет статическую типизацию поверх JavaScript — всё, что валидно в JS, валидно и в TS, с типами сверху. Компилируется в обычный JavaScript. По State of JS 2023 более 84% новых проектов на JavaScript-стеке запускаются сразу в TypeScript — без него в индустрии осталось разве что легаси, которое никто не хочет трогать.

Порог входа зависит от бэкграунда: если есть JavaScript, TypeScript изучается за пару недель — на 80% это просто аннотации типов и интерфейсы. Дальше начинается глубина: generics, conditional types, template literal types, mapped types — они выглядят как отдельный язык программирования на уровне типов. С 2024 года Node.js умеет запускать TypeScript-файлы напрямую (через флаг --experimental-strip-types), с 22.6 это стабильно — отдельный шаг компиляции больше не нужен.

Ниже — десять ресурсов для старта: официальные материалы, интерактивные площадки, книги, курсы и наборы упражнений.

TypeScript Handbook

TypeScript Handbook

Официальный учебник от команды Microsoft. Компактный, покрывает всё нужное для повседневной работы: базовые типы, интерфейсы, generics, модули, конфигурация tsconfig. Обновляется под каждый релиз (сейчас 5.x).

Total TypeScript (Мэтт Покок)

Total TypeScript (Мэтт Покок)

Обучающая платформа Мэтта Покока — одного из главных evangelist'ов TypeScript. Есть бесплатный курс TypeScript Pro Essentials, продвинутые модули по generics и wizard patterns платные. Формат — короткие видео с задачами в редакторе.

TypeScript Deep Dive (Басарат Али Саид)

TypeScript Deep Dive (Басарат Али Саид)

Бесплатная книга от Басарата в открытом доступе на GitBook. Копает вглубь: как компилятор выводит типы, как работают declaration files, как правильно писать библиотеки. Хороший второй ресурс после Handbook.

Type Challenges

Type Challenges

Набор задач на GitHub — более 200 упражнений на уровне типов, от warm-up до extreme. Учат «продвинутый» TypeScript — conditional types, infer, template literals, mapped types. Не для первого дня, но обязательный этап после Handbook.

Exercism — TypeScript Track

Exercism — TypeScript Track

Более 80 задач с автотестами и ревью от менторов. Идиоматичный TypeScript — типы вместо any, discriminated unions, exhaustive checks — лучше всего заходит через живое ревью. Полностью бесплатно.

Effective TypeScript (Дэн Вандеркам)

Effective TypeScript (Дэн Вандеркам)

Книга Дэна Вандеркама — 83 правила «как писать хороший TypeScript». Не учит с нуля, а прокачивает существующего практика: где ставить any, как проектировать типы, что делать с strict-режимом. Обязательное чтение после года практики.

Programming TypeScript (Борис Черный)

Programming TypeScript (Борис Черный)

Книга Бориса Черного от O'Reilly. Учит с нуля: типы, интерфейсы, классы, generics, работа с DOM. Хороший вариант, если хочется книжный формат вместо туториала. Читается вместо или после Handbook.

TypeScript Playground

TypeScript Playground

Официальная песочница. Написал код — сразу видишь скомпилированный JS справа и ошибки типов слева. Поддерживает переключение версий компилятора и всех опций tsconfig. Идеально для быстрых экспериментов и шаринга примеров.

freeCodeCamp — Learn TypeScript

freeCodeCamp — Learn TypeScript

Часовой курс на канале freeCodeCamp от Хиттеша Чоудхари. Быстрый пробег по всем базовым темам — хорошо смотреть перед началом или для повторения. Полностью бесплатный.

Utility Types Reference

Utility Types Reference

Раздел справочника TypeScript про встроенные утилитарные типы — Partial, Pick, Omit, ReturnType, Awaited, NonNullable. Читать по мере надобности — каждый из них появляется в реальном коде каждый день, и без понимания получается писать длиннее, чем нужно.