Курс розроблений для тих, хто вже впевнено володіє JavaScript. Він складається з логічних модулів, які послідовно розкривають тему об'єктно-орієнтованого програмування.
На перших модулях слухачі розбираються з фундаментальними поняттями. Вони дізнаються, що таке ООП насправді, без міфів. Розглядають три основні принципи - інкапсуляцію, поліморфізм та наслідування. Потім переходять до роботи з об'єктами, їх властивостями та методами. З'ясовують, як працює прототипне програмування в JavaScript та механізми наслідування.
Далі курс заглиблюється в роботу з класами. Слухачі вчать створювати класи, об'єкти та конструктори. Розбираються з властивостями та методами, вивчають ключове слово this та його особливості. Цей блок дає практичне розуміння того, як організовувати код за допомогою класів.
Тут розглядаються складніші аспекти роботи з класами. Наслідування між класами за допомогою super та конструкторів. Гетери та сетери для контролю доступу до властивостей. Приватні властивості для захисту даних. Статичні методи та властивості, які належать самому класу, а не його екземплярам.
Цей модуль присвячений одній з найскладніших тем в JavaScript - контексту виконання. Слухачі зрозуміють, як працює this в різних ситуаціях - в класах, об'єктах, звичайних та стрілочних функціях. Навчаться явно вказувати контекст за допомогою методів call, apply та bind.
Перший великий проєкт - створення віджета для відображення даних у вигляді таблиці. Розробка йде протягом трьох модулів. Слухачі створюють компонент, який приймає дані у вигляді об'єкта та генерує на сторінці таблицю з фільтрами. Це реальний приклад застосування ООП у фронтенд-розробці.
Другий проєкт - розробка функціоналу кошика для інтернет-магазину. На двох модулях слухачі реалізують додавання товарів, підрахунок загальної суми, генерацію кошика. Це ще один практичний приклад, який показує, як ООП допомагає у створенні складних інтерфейсів.
Останній модуль підводить підсумки навчання. Систематизує отримані знання та показує, як застосовувати ООП у майбутніх проєктах.
Для успішного проходження курсу потрібні впевнені знання JavaScript. Якщо таких немає - рекомендується спочатку пройти курс JavaScript 2.0.
Курс включає 14 спринтів з 49 практичними завданнями. Два повноцінних проєкти, які можна додати до портфоліо. Підтримку та допомогу під час навчання, розбір та виправлення помилок. Безстроковий доступ до матеріалів. Сертифікат про успішне завершення курсу.