На этом курсе начинают с основ модульной системы в JavaScript. Студенты узнают, что такое модули и как их использовать. Рассматриваются динамические и статические системы модулей, а также синтаксис import и export. Далее переходят к асинхронному программированию с async/await. Здесь объясняют создание асинхронных функций, ожидание Promise и обработку ошибок. Сравнивают код с Promise.then и async/await, чтобы показать разницу в читабельности.
Далее курс охватывает Symbols - уникальные идентификаторы в JavaScript. Студенты изучают разницу между локальными и глобальными символами, а также их практическое применение. Рассматриваются специальные символы как toStringTag и toPrimitive. Следующий блок посвящен Proxy и Reflect. Здесь объясняют шаблон Proxy, использование встроенного типа и работу с ловушками в объекте-обработчике. Показывают, как использовать Reflect для манипуляции объектами.
Этот модуль начинается с протоколов iterable и iterator, включая работу с @@iterator. Студенты изучают функции-генераторы и оператор yield, а также асинхронные генераторы. Далее переходят к концепции неизменяемости объектов. Рассматриваются работа с Map и Set, методы Object.freeze и Object.seal, а также паттерн Value Object для создания неизменяемых структур данных.
Здесь студенты ознакомятся с основами функционального программирования. Курс охватывает функции высшего порядка, чистые функции и использование функций как данных. Особое внимание уделяют композиции функций и каррированию - технике преобразования функций с несколькими аргументами на последовательность функций с одним аргументом.
Этот раздел разделен на две части. Сначала студенты изучают потоки данных и создание пользовательских событий. Знакомятся с концепцией Observable и ее реализацией. Во второй части практически реализуют основные операторы для Observable: map, filter, reduce и skip. На примерах показывают, как использовать эти функции для работы с потоками данных.
Завершающий модуль посвящен работе с клиентской базой данных. Студенты узнают, что такое IndexedDB и как создавать базу данных на клиенте. Курс охватывает использование транзакций, создание, удаление и обновление записей. Также рассматриваются методы поиска записей в базе и работа с курсорами для эффективной навигации по данным.
Курс включает практические занятия с проверкой домашних заданий. Студенты получают бесплатный видеокурс для дополнительного обучения. После завершения обучения проводится онлайн тестирование с выдачей сертификата об успешном завершении курса.