Omnex.Study
Курсы / Программирование
🔶

Продвинутый JavaScript

Замыкания, прототипы, event loop, промисы и async/await — разберись, как язык работает под капотом, и пиши код, который проходит любое собеседование.

Продвинутый35 часов8 модулей60 уроковДоступ навсегда
4 9907 990
Начать бесплатно — первый модуль в подарок

Разовая оплата, без подписки. Школьнику курс покупает родитель из кабинета parents.omnex.study.

О КУРСЕ

Ты уже пишешь на JavaScript, но иногда язык ведёт себя как капризный фокусник: `this` внезапно оказывается `undefined`, промис резолвится «не в том порядке», а `0.1 + 0.2` выдаёт что-то странное. Пора убрать магию. Этот курс — про то, как JavaScript устроен под капотом, и как превратить это знание в код, который не разваливается на проде.

Мы пройдём весь путь от контекста выполнения и стека вызовов до прототипов, промисов, async/await, генераторов и Proxy. Никакой зубрёжки: каждый механизм ты сначала увидишь в работе, потом разберёшь по косточкам, а потом соберёшь на нём что-то настоящее. Четыре проекта в портфолио — мини-библиотека коллекций на прототипах, доменная модель на классах, надёжный сетевой загрузчик с ретраями и собственный стейт-менеджер с реактивностью.

Это курс для тех, кто хочет перестать бояться каверзных вопросов на собеседовании и начать давать на них уверенные ответы. Замыкания, event loop, всплытие, приведение типов, разница между `==` и `===`, микрозадачи против макрозадач — после курса всё это станет твоими инструментами, а не источником багов.

35 часов плотной практики, живые примеры, разбор типичных ошибок и код, который не стыдно показать на ревью. Погнали разбираться, как на самом деле работает язык, на котором говорит весь веб.

РЕЗУЛЬТАТ

Чему научишься.

ПРОГРАММА

8 модулей, 60 уроков.

01

Модуль 1. Как на самом деле работает JavaScript

Бесплатный модуль

Заглядываем под капот движка: контекст выполнения, стек вызовов, всплытие, примитивы и ссылки, коварное приведение типов и строгий режим.

  • Контекст выполнения и стек вызововТеория · 26 мин
  • Всплытие и мёртвая зона: var, let, constТеория · 27 мин
  • Примитивы против ссылок: почему объект «меняется сам»Теория · 26 мин
  • Приведение типов: коварство == против ===Теория · 28 мин
  • Строгий режим и ловушки языкаТеория · 24 мин
  • Практикум: предскажи выводПрактика · 35 мин
  • Квиз: как устроен JavaScriptТест · 15 мин
02

Модуль 2. Функции по-взрослому: this, замыкания, каррирование

Функции как значения, четыре правила this, ручное управление контекстом через call/apply/bind, стрелочные функции, замыкания и их практическая мощь.

  • Функции — граждане первого классаТеория · 25 мин
  • this: четыре правила, которые всё решаютТеория · 28 мин
  • call, apply и bind: ручное управление thisТеория · 26 мин
  • Стрелочные функции и лексический thisТеория · 25 мин
  • Замыкания: что это на самом делеТеория · 28 мин
  • Замыкания на практике: приватность, счётчики, мемоизацияТеория · 27 мин
  • Практикум: утилиты на замыканияхПрактика · 40 мин
  • Квиз: функции, this и замыканияТест · 15 мин
03

Модуль 3. Прототипы — сердце ООП в JavaScript

Как устроено наследование в JS: прототипная цепочка, Object.create и делегирование, функции-конструкторы, оператор new, общие методы на прототипе и дескрипторы свойств.

  • Прототипная цепочка: как движок ищет свойстваТеория · 27 мин
  • Object.create и делегированиеТеория · 25 мин
  • Функции-конструкторы и оператор newТеория · 26 мин
  • prototype функции: методы, которые не дублируютсяТеория · 26 мин
  • Дескрипторы свойств, геттеры и сеттерыТеория · 27 мин
  • Проект: мини-библиотека коллекций на прототипахПроект · 55 мин
  • Квиз: прототипы и наследованиеТест · 15 мин
04

Модуль 4. Классы и современный ООП

Синтаксис class как обёртка над прототипами: наследование через extends и super, приватные поля #, статические члены, геттеры и сеттеры, композиция, миксины и проверка типов.

  • class — синтаксический сахар над прототипамиТеория · 26 мин
  • Наследование: extends и superТеория · 27 мин
  • Приватные поля # и статические членыТеория · 26 мин
  • Геттеры, сеттеры и инкапсуляция в классахТеория · 26 мин
  • Композиция, миксины и проверка типовТеория · 26 мин
  • Проект: доменная модель интернет-магазинаПроект · 60 мин
  • Квиз: классы и современный ООПТест · 15 мин
05

Модуль 5. Асинхронность: цикл событий и промисы

Как однопоточный JavaScript делает несколько дел сразу: цикл событий, микро- и макрозадачи, колбэки и их ад, промисы, цепочки, обработка ошибок и комбинаторы all/allSettled/race/any.

  • Event Loop: макро- и микрозадачиТеория · 28 мин
  • Колбэки и ад колбэковТеория · 25 мин
  • Промисы: три состояния и then/catch/finallyТеория · 27 мин
  • Цепочки промисов и обработка ошибокТеория · 27 мин
  • Комбинаторы: all, allSettled, race, anyТеория · 27 мин
  • Создаём свои промисы и промисифицируем колбэкиТеория · 26 мин
  • Практикум: приручи асинхронностьПрактика · 40 мин
  • Квиз: цикл событий и промисыТест · 15 мин
06

Модуль 6. async/await и продвинутая асинхронность

Синтаксис async/await поверх промисов: обработка ошибок через try/catch, управление параллелизмом, таймауты и отмена через AbortController, подводные камни и надёжный сетевой загрузчик.

  • async/await — читаемая асинхронностьТеория · 27 мин
  • Обработка ошибок в async-кодеТеория · 26 мин
  • Параллельно или последовательно: управляем скоростьюТеория · 27 мин
  • Таймауты, отмена и AbortControllerТеория · 26 мин
  • Подводные камни async/awaitТеория · 26 мин
  • Проект: надёжный сетевой загрузчикПроект · 60 мин
  • Квиз: async/awaitТест · 15 мин
07

Модуль 7. Генераторы, коллекции и метапрограммирование

Протокол итерации и Symbol.iterator, генераторы function*/yield, коллекции Map и Set, слабые ссылки WeakMap/WeakSet, символы и well-known symbols, перехват операций через Proxy и Reflect.

  • Протокол итерации и Symbol.iteratorТеория · 27 мин
  • Генераторы: function* и yieldТеория · 28 мин
  • Map и Set: правильные коллекцииТеория · 26 мин
  • WeakMap, WeakSet и памятьТеория · 25 мин
  • Символы и well-known symbolsТеория · 26 мин
  • Proxy и Reflect: метапрограммированиеТеория · 28 мин
  • Практикум: итераторы и реактивность на ProxyПрактика · 40 мин
  • Квиз: генераторы, коллекции и ProxyТест · 15 мин
08

Модуль 8. Модули, паттерны и финальный проект

ES-модули и динамический импорт, паттерны проектирования (Модуль, Синглтон, Наблюдатель), функциональные приёмы, свои классы ошибок, управление памятью и производительностью, финальный стейт-менеджер и подготовка к собеседованию.

  • ES-модули: import/export и динамический импортТеория · 26 мин
  • Паттерны: Модуль, Синглтон, НаблюдательТеория · 27 мин
  • Функциональные приёмы: чистота, иммутабельность, композицияТеория · 26 мин
  • Ошибки под контролем: свои классы ошибокТеория · 25 мин
  • Память, утечки и производительностьТеория · 25 мин
  • Финальный проект: реактивный стейт-менеджерПроект · 65 мин
  • Как пройти собеседование по продвинутому JavaScriptТеория · 24 мин
  • Квиз: модули, паттерны и финал курсаТест · 15 мин
ИНСТРУМЕНТЫ

С чем будешь работать.

JavaScript (ES2023)Node.js 20+ (LTS)Браузер и Chrome DevToolsVS CodeESLint и PrettierGit и GitHub

Продвинутый JavaScript: первый модуль — бесплатно.

Начать бесплатно — первый модуль в подарок
Продвинутый JavaScript | Omnex.Study