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

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

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

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

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

О КУРСЕ

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

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

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

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

РЕЗУЛЬТАТ

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

ПРОГРАММА

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

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