Prog Academy
RU UA

Курс за підпискою

TypeScript: поглиблений рівень

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

  • 11 модулів
  • 30+ практичних завдань
  • Автоматична перевірка
  • Українською

Отримати доступ до курсу

Курс за підпискою · Навчання у власному темпі · Без дзвінків і консультацій

Про курс

Що це за курс?

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

Аудиторія

Для кого цей курс?

  • Знаєте основи TypeScript

    Навчитеся писати узагальнені функції та будувати утилітні, мапові й умовні типи з infer на основі наявних.

  • Працюєте з даними з API

    Перевірятимете зовнішні дані власними type guards і функціями-твердженнями, а стан описуватимете дискримінованими union.

  • Пишете повторно використовувані API

    Типізуватимете перевантаження, функції вищого порядку, абстрактні класи, репозиторій, кеш і шину подій.

Спершу потрібна підготовка

Курс спирається на знання, позначені нижче як обов’язкові.

Потрібно знати

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

    Детальніше
    • Встановлювати нічого не треба: код компілюється і виконується прямо в браузері.

Якщо цих знань ще немає — пройдіть курси за порядком:

  1. Обов’язково TypeScript: основи
  2. Цей курс TypeScript: поглиблений рівень

Результат

Що ви навчитеся робити

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

писати узагальнені функції, типи й класи з обмеженнями, keyof та індексним доступом

будувати нові типи з наявних: утилітні, мапові й умовні типи, 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 ловить опечатки. Поглиблений — робить неможливими цілі класи помилок: узагальнені функції зберігають точний тип даних, утилітні й мапові типи виводять нові типи з наявних, дискриміновані 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-помічник з навчання в кожному курсі; усі уроки, домашні завдання та автоматична перевірка; нові курси за підпискою додаються автоматично.

Не знайшли відповідь?

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