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