TypeScript: основи
Пишіть JavaScript, у якому помилки знаходить компілятор, а не користувач
Курс за підпискою
Проєктуйте типи, які самі не дають написати неправильний код
Отримати доступ до курсу
Курс за підпискою · Навчання у власному темпі · Без дзвінків і консультацій
Про курс
Базовий TypeScript ловить опечатки. Поглиблений — робить неможливими цілі класи помилок: узагальнені функції зберігають точний тип даних, утилітні й мапові типи виводять нові типи з наявних, дискриміновані union описують стан так, що неможливий стан просто не скомпілюється, а type guards перетворюють непевні зовнішні дані на перевірені. Курс проходить цей шлях на реальних сценаріях: відповіді API, обробка замовлень, валідація конфігурації, типізовані репозиторій, кеш і шина подій, скінченні автомати.
Аудиторія
Знаєте основи TypeScript
Навчитеся писати узагальнені функції та будувати утилітні, мапові й умовні типи з infer на основі наявних.
Працюєте з даними з API
Перевірятимете зовнішні дані власними type guards і функціями-твердженнями, а стан описуватимете дискримінованими union.
Пишете повторно використовувані API
Типізуватимете перевантаження, функції вищого порядку, абстрактні класи, репозиторій, кеш і шину подій.
Курс спирається на знання, позначені нижче як обов’язкові.
Потрібно знати
Курс «TypeScript: основи» або впевнене знання базових типів, інтерфейсів, union-типів, звуження і класів.
Якщо цих знань ще немає — пройдіть курси за порядком:
Результат
розуміти сумісність типів: структурна типізація, підтипи, 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.
Навчання
Ви вчитеся, виконуючи завдання: кожну нову тему одразу застосовуєте на практиці, а не лише читаєте теорію. Завдання перевіряються автоматично, просто в браузері.
Ви не залишаєтеся наодинці з матеріалом
Щось незрозуміло або застрягли на завданні — запитайте просто в уроці. Помічник пояснить тему простішими словами, відповість на питання, допоможе розібратися в умові завдання й підкаже наступний крок, знайде потрібне в матеріалах курсу. Він знає, який урок ви проходите, і пам’ятає розмову.
Кар’єра
Успішно пройшли курс — отримуєте сертифікат і в один клік додаєте його в профіль LinkedIn.
Резюме англійською та українською — просто на платформі. Ваші курси й сертифікати додаються в нього в кілька кліків.
Junior-вакансії та стажування в одному місці — з добіркою під курси, які ви проходите.
Уся платформа — в одному акаунті
Програма
11 модулів, 30+ практичних завдань з автоматичною перевіркою і 11 тестів. Відкрийте модуль, щоб побачити всі теми.
Що насправді перевіряє компілятор, коли каже «не можна присвоїти»: типи як множини значень, підтипи, unknown і never, інтерфейси на повну
Функції, типи, інтерфейси й класи з параметрами типу: як тип «подорожує» разом із даними і коли його треба вказати явно
Як сказати компілятору, що параметр типу має певну форму, і як виводити типи з ключів, значень і самих даних
Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, Parameters, Awaited — нові типи з наявних без копіювання
Будуємо нові типи з наявних: перетворюємо кожен ключ, перейменовуємо ключі шаблонними типами, обираємо тип за умовою і витягуємо частини типів через infer
Описуємо варіанти даних union-типами з полем-тегом, змушуємо компілятор перевіряти, що оброблено кожен варіант, і моделюємо стан як скінченний автомат
Пишемо власні перевірки-звуження і функції-твердження, перевіряємо дані з JSON від unknown до точного типу і перевіряємо об'єкти через satisfies
Перевантаження функцій, узагальнені функції вищого порядку, що зберігають точні параметри й результат, і rest-кортежі
Абстрактні класи й шаблонний метод, protected-хуки, узагальнені класи з обмеженнями, кілька інтерфейсів, статичні фабрики, композиція замість успадкування
Шина подій на карті подій, кеш із впровадженим годинником, помилки як значення, import type і мала публічна поверхня модуля
Три етапи одного проєкту: розбір і перевірка сирих замовлень, розрахунок ціни зі знижками й податками, виконання замовлень зі складом і подіями
Стек
Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.
Доступ
Коротка форма на цій сторінці — без дзвінків і консультацій.
Після форми перейдіть у Telegram-бот Prog Academy — він надішле подальші інструкції щодо доступу.
Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.
Контакт
Залиште контакти — надішлемо деталі доступу до курсу «TypeScript: поглиблений рівень». Без дзвінків і консультацій.
Пишіть JavaScript, у якому помилки знаходить компілятор, а не користувач
Навчіться писати програми, які не простоюють, поки чекають на мережу, диск чи інший сервіс
C++ Advanced: від основ мови до коду, який пишуть у реальних проєктах
Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.