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