Prog Academy
RU UA

Курс по подписке

TypeScript: углубленный уровень

Проектируйте типы, которые сами не дают написать неправильный код

  • 11 модулей
  • 30+ практических заданий
  • Автоматическая проверка
  • На русском

Получить доступ к курсу

Курс по подписке · Обучение в своём темпе

О курсе

Что это за курс?

Базовый TypeScript ловит опечатки. Углубленный — делает невозможными целые классы ошибок: обобщенные функции сохраняют точный тип данных, утилитные и сопоставленные (mapped) типы выводят новые типы из существующих, дискриминированные union описывают состояние так, что невозможное состояние просто не скомпилируется, а type guards превращают ненадежные внешние данные в проверенные. Курс проходит этот путь на реальных сценариях: ответы API, обработка заказов, валидация конфигурации, типизированные репозиторий, кеш и шина событий, конечные автоматы.

Аудитория

Для кого этот курс?

  • Знаете основы TypeScript

    Научитесь писать обобщенные функции и строить утилитные, сопоставленные и условные типы с infer на основе существующих.

  • Работаете с данными из API

    Будете проверять внешние данные своими type guards и функциями-утверждениями, а состояние описывать дискриминированными union.

  • Пишете переиспользуемые API

    Будете типизировать перегрузки, функции высшего порядка, абстрактные классы, репозиторий, кеш и шину событий.

Сначала нужна подготовка

Курс опирается на знания, отмеченные ниже как обязательные.

Нужно знать

  • Курс «TypeScript: основы» или уверенное знание базовых типов, интерфейсов, union-типов, сужения и классов.

    Подробнее
    • Устанавливать ничего не нужно: код компилируется и выполняется прямо в браузере.

Если этих знаний ещё нет — пройдите курсы по порядку:

  1. Обязательно TypeScript: основы
  2. Этот курс TypeScript: углубленный уровень

Результат

Чему вы научитесь

понимать совместимость типов: структурная типизация, подтипы, unknown и never

писать обобщенные функции, типы и классы с ограничениями, keyof и индексным доступом

строить новые типы из существующих: утилитные, сопоставленные (mapped) и условные типы, infer

моделировать данные дискриминированными union с исчерпывающей проверкой

проверять внешние данные собственными type guards и функциями-утверждениями

типизировать перегрузки, функции высшего порядка, абстрактные классы и переиспользуемые API

Формат

Как устроено обучение?

31 практическое задание на TypeScript с автоматической проверкой на скрытых тестах. В большинстве заданий оценивается не только результат программы, но и типы: готовая программа-проверка содержит проверки на уровне типов, поэтому функция с any или слишком свободной сигнатурой просто не скомпилируется (tsc --strict). Есть задания на исправление ошибок типов, рефакторинг и дописывание частично готового кода. Курс завершается мини-проектом — типизированной системой обработки заказов. Каждый раздел заканчивается тестом: что скомпилируется, а что нет, какой тип выведет компилятор, какое решение надежнее.

  • Теория

    21 урок с примерами

  • Практика в браузере

    30+ заданий с автоматической проверкой

  • Тесты

    11 тестов для самопроверки

  • Свой темп

    Онлайн на my.prog.academy, без установки программ

AI-помощник

AI-помощник рядом во время обучения

На страницах курса, уроков и заданий есть кнопка «Спросить AI». Помощник знает материалы именно этого курса и урок, на котором вы сейчас, поэтому отвечает по теме и показывает, в каких уроках об этом говорится.

  • Объяснит иначе

    Не поняли урок с первого раза — попросите объяснить проще или привести ещё один пример.

  • Поможет с заданием

    Застряли — подскажет, с чего начать, и поможет найти ошибку в вашем решении. Готового решения не даёт.

  • Найдёт нужную тему

    Спросите, где объясняли понятие, — и получите ссылки на нужные уроки курса.

  • Продолжит разговор

    Уточняйте без повторов: помощник помнит разговор, а недавние разговоры курса сохраняются.

Входит в каждый тариф оплаченной подписки — Basic и Premium. В Premium лимиты использования AI-помощника выше — им можно пользоваться активнее. Это помощник в обучении, а не генератор готовых ответов: он объясняет и подсказывает, а задания вы решаете сами.

Программа

Программа курса

11 модулей, 30+ практических заданий с автоматической проверкой и 11 тестов. Откройте модуль, чтобы увидеть все темы.

Раздел 1 — Типы как множества: совместимость и структурная типизация 2 урока · 2 практики · 1 тест

Что на самом деле проверяет компилятор, когда говорит «нельзя присвоить»: типы как множества значений, подтипы, unknown и never, интерфейсы в полную силу

  • Теория Типы как множества значений
  • Практика Права доступа в редакторе документов
  • Теория Интерфейсы и псевдонимы в полную силу
  • Практика Слои конфигурации сервиса
  • Тест Типы как множества и интерфейсы
Раздел 2 — Обобщенные типы (generics) 2 урока · 3 практики · 1 тест

Функции, типы, интерфейсы и классы с параметрами типа: как тип «путешествует» вместе с данными и когда его нужно указать явно

  • Теория Обобщенные функции: тип, который путешествует вместе с данными
  • Практика Утилиты для маршрута доставки
  • Теория Обобщенные типы, интерфейсы и классы
  • Практика Result для настроек сервера
  • Практика Ограниченная очередь
  • Тест Обобщенные типы
Раздел 3 — Ограничения, keyof, typeof и индексный доступ 2 урока · 3 практики · 1 тест

Как сказать компилятору, что параметр типа имеет определенную форму, и как выводить типы из ключей, значений и самих данных

  • Теория Ограничения generics и keyof
  • Практика Выборки и сортировка каталога
  • Теория typeof и типы, выведенные из данных
  • Практика Тарифные планы SaaS
  • Практика Индексы для CRM
  • Тест Ограничения, keyof и typeof
Раздел 4 — Утилитные типы 2 урока · 3 практики · 1 тест

Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, Parameters, Awaited — новые типы из существующих без копирования

  • Теория Утилитные типы для объектов
  • Практика PATCH профиля пользователя
  • Практика Публичный профиль форума
  • Теория Утилитные типы для union и функций
  • Практика Маршрутизация событий приложения
  • Тест Утилитные типы
Раздел 5 — Сопоставленные и условные типы 2 урока · 3 практики · 1 тест

Строим новые типы из существующих: преобразуем каждый ключ, переименовываем ключи шаблонными типами, выбираем тип по условию и извлекаем части типов через infer

  • Теория Сопоставленные типы: преобразуем каждый ключ
  • Практика Валидаторы для каждого поля формы
  • Практика Геттеры и сеттеры из типа настроек
  • Теория Условные типы и infer
  • Практика Извлекаем типы из типов
  • Тест Сопоставленные и условные типы
Раздел 6 — Дискриминированные union и исчерпывающие проверки 2 урока · 3 практики · 1 тест

Описываем варианты данных union-типами с полем-тегом, заставляем компилятор проверять, что обработан каждый вариант, и моделируем состояние как конечный автомат

  • Теория Дискриминированные union: моделируем варианты данных
  • Практика Ответы API на экране
  • Практика Новый способ доставки
  • Теория Состояние как union: маленькие конечные автоматы
  • Практика Автомат состояний платежа
  • Тест Дискриминированные union
Раздел 7 — Собственные type guards, функции-утверждения и валидация данных 2 урока · 3 практики · 1 тест

Пишем собственные проверки-сужения и функции-утверждения, проверяем данные из JSON от unknown до точного типа и проверяем объекты через satisfies

  • Теория Предикаты типов и функции-утверждения
  • Практика Очистка показаний датчиков
  • Теория Проверяем внешние данные: от unknown к типам
  • Практика Заказы из JSON
  • Практика Строгая проверка конфигурации
  • Тест Type guards и валидация
Раздел 8 — Сложные сигнатуры функций 2 урока · 3 практики · 1 тест

Перегрузки функций, обобщенные функции высшего порядка, которые сохраняют точные параметры и результат, и rest-кортежи

  • Теория Перегрузки функций
  • Практика Разбор значений настроек
  • Теория Функции высшего порядка с точными типами
  • Практика Мемоизация со счетчиками
  • Практика Конвейеры аналитики пульса
  • Тест Сложные сигнатуры функций
Раздел 9 — Классы и абстракции 2 урока · 3 практики · 1 тест

Абстрактные классы и шаблонный метод, protected-хуки, обобщенные классы с ограничениями, несколько интерфейсов, статические фабрики, композиция вместо наследования

  • Теория Абстрактные классы и шаблонный метод
  • Практика Коммунальные тарифы с шаблонным методом
  • Практика Отчеты без ошибок «not implemented»
  • Теория Обобщенные классы, несколько интерфейсов и композиция
  • Практика Обобщенное хранилище в памяти
  • Тест Классы и абстракции
Раздел 10 — Типизированные API: практические паттерны 2 урока · 2 практики · 1 тест

Шина событий на карте событий, кеш с внедренными часами, ошибки как значения, import type и маленькая публичная поверхность модуля

  • Теория Типизированная шина событий и кеш
  • Практика Типизированная шина событий магазина
  • Практика Кеш курсов со временем жизни
  • Теория Ошибки как значения и границы модулей
  • Тест Типизированные API
Раздел 11 — Финальный проект: система обработки заказов 1 урок · 3 практики · 1 тест

Три этапа одного проекта: разбор и проверка сырых заказов, расчет цены со скидками и налогами, выполнение заказов со складом и событиями

  • Теория Проект: типизированная обработка заказов
  • Практика Проект, этап 1: разбор и проверка заказов
  • Практика Проект, этап 2: цена, скидки и налоги
  • Практика Проект, этап 3: выполнение заказов
  • Тест Итоговый тест курса

Стек

Какие технологии используются?

  • TypeScript

Код пишете и запускаете в браузере на платформе — устанавливать ничего не нужно.

Доступ

Как получить доступ?

  1. Оставьте заявку

    Заполните короткую форму на этой странице.

  2. Завершите регистрацию в Telegram

    После заявки перейдите в Telegram-бот Prog Academy — он пришлёт дальнейшие инструкции по доступу.

  3. Учитесь на платформе

    Уроки, практика и тесты — на my.prog.academy, в удобном для вас темпе.

Контакт

Начните обучение на платформе

Оставьте контакты — пришлём детали доступа к курсу «TypeScript: углубленный уровень».

Другие курсы по подписке

Терминал Linux (bash)

Основы Linux

Командная строка с нуля: файлы, права, процессы, сеть, bash-скрипты и SSH — в терминале учебной Ubuntu.

13 модулей · 40+ практических заданий

Кибербезопасность с ИИ: защита от современных атак и безопасная работа с искусственным интеллектом

Защита от современных атак для нетехнических специалистов: фишинг, пароли и MFA, инциденты, дипфейки и безопасная работа с ИИ.

12 модулей · 30+ практических заданий

Частые вопросы о курсе

Что это за курс?

«TypeScript: углубленный уровень» — онлайн-курс по подписке на учебной платформе Prog Academy. Проектируйте типы, которые сами не дают написать неправильный код. Базовый TypeScript ловит опечатки. Углубленный — делает невозможными целые классы ошибок: обобщенные функции сохраняют точный тип данных, утилитные и сопоставленные (mapped) типы выводят новые типы из существующих, дискриминированные union описывают состояние так, что невозможное состояние просто не скомпилируется, а type guards превращают ненадежные внешние данные в проверенные. Курс проходит этот путь на реальных сценариях: ответы API, обработка заказов, валидация конфигурации, типизированные репозиторий, кеш и шина событий, конечные автоматы.

Какие знания нужны перед стартом?

Нужно: курс «TypeScript: основы» или уверенное знание базовых типов, интерфейсов, union-типов, сужения и классов. Устанавливать ничего не нужно: код компилируется и выполняется прямо в браузере.

Какие практические задания будут?

31 практическое задание на TypeScript с автоматической проверкой на скрытых тестах. В большинстве заданий оценивается не только результат программы, но и типы: готовая программа-проверка содержит проверки на уровне типов, поэтому функция с any или слишком свободной сигнатурой просто не скомпилируется (tsc --strict). Есть задания на исправление ошибок типов, рефакторинг и дописывание частично готового кода. Курс завершается мини-проектом — типизированной системой обработки заказов. Каждый раздел заканчивается тестом: что скомпилируется, а что нет, какой тип выведет компилятор, какое решение надежнее.

Какие технологии используются?

TypeScript. Код пишете и запускаете прямо в браузере на платформе — устанавливать ничего не нужно.

Сколько модулей в курсе?

11 модулей: Типы как множества: совместимость и структурная типизация; Обобщенные типы (generics); Ограничения, keyof, typeof и индексный доступ; Утилитные типы; Сопоставленные и условные типы; Дискриминированные union и исчерпывающие проверки; Собственные type guards, функции-утверждения и валидация данных; Сложные сигнатуры функций; Классы и абстракции; Типизированные API: практические паттерны; Финальный проект: система обработки заказов. Практических заданий с автоматической проверкой — 30+, тестов — 11.

Как получить доступ?

Оставьте заявку на этой странице и завершите регистрацию в Telegram-боте Prog Academy — там вы получите дальнейшие инструкции по доступу. Обучение проходит на платформе my.prog.academy в своём темпе.

Входит ли курс в подписку?

Да. Курс входит в подписку на платформе Prog Academy: доступ ко всем курсам по подписке; ai-помощник по обучению в каждом курсе; все уроки, домашние задания и автоматическая проверка; новые курсы по подписке добавляются автоматически.

Не нашли ответ?

Оставьте вопрос — подскажем, подходит ли вам курс и с чего лучше начать.