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, без установки программ

Платформа Prog Academy

Больше, чем доступ к курсу

Курс проходит на платформе Prog Academy — вместе с ним вы получаете AI-помощника и инструменты для поиска первой работы в IT.

Обучение

90% практики

Вы учитесь, выполняя задания: каждую новую тему сразу применяете на практике, а не только читаете теорию. Задания проверяются автоматически, прямо в браузере.

AI-помощник по обучению

Вы не остаётесь один на один с материалом

Что-то непонятно или застряли на задании — спросите прямо в уроке. Помощник объяснит тему проще, ответит на вопросы, поможет разобраться в условии задания и подскажет следующий шаг, найдёт нужное в материалах курса. Он знает, какой урок вы проходите, и помнит разговор.

Карьера

  • Сертификат после окончания курса

    Успешно прошли курс — получаете сертификат и в один клик добавляете его в профиль LinkedIn.

  • Конструктор резюме

    Резюме на английском, украинском или русском — прямо на платформе. Ваши курсы и сертификаты добавляются в него в пару кликов.

  • База вакансий

    Junior-вакансии и стажировки в одном месте — с подборкой под курсы, которые вы проходите.

Вся платформа — в одном аккаунте

  • Все ваши курсы
  • Прогресс по каждому курсу
  • Обучение в своём темпе
  • Ничего не нужно устанавливать

Программа

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

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: углубленный уровень». Без звонков и консультаций.

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

TypeScript

TypeScript: основы

Пишите JavaScript, в котором ошибки находит компилятор, а не пользователь

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

Python

Асинхронный Python: asyncio на практике

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

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

C++

C++ Advanced

C++ Advanced: от основ языка к коду, который пишут в реальных проектах

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

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

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

«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-помощник по обучению в каждом курсе; все уроки, домашние задания и автоматическая проверка; новые курсы по подписке добавляются автоматически.

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

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