Подробнее
Что нужно для старта
- Базовые знания JS: переменные, функции, массивы/объекты, стрелочные функции, модули ES6+
- Умение читать документацию и консольные сообщения об ошибках
- Node.js 16+ (для локального запуска) и любой редактор кода
Что вы получите
- Работать с типами, областью видимости, контекстом this, деструктуризацией, итераторами/генераторами
- Использовать Map/Set/WeakMap/WeakSet, даты/время и ISO‑форматы
- Реализовывать утилиты: полифиллы map/filter/reduce, compose/pipe, once/memoize, debounce/throttle, deepEqual/deepClone/deepMerge, flatten/flatMap
- Строить структуры: LRU‑кэш, мин‑кучу, связный список, простой роутер, range/chunk
- Писать парсер подмножества JSON и мини‑шаблонизатор {{var}}
- Управлять асинхронностью: Promise.allSettled, пул с ограничением параллелизма, сериализация задач, семафор/мьютекс
Для кого этот курс
- 👍Разработчики, которые уже писали на JS и хотят закрепить основы и практики уровня middle
- 👍Разработчики смежных стеков, переходящие на JS
- 👍Подготовка к собеседованиям на практических задачах
Программа курса
- Типы и сравнение: == vs ===, NaN/Infinity, BigInt
- Область видимости и hoisting
- this/context и bind/call/apply
- Замыкания и фабрики функций
- Деструктуризация, rest/spread
- Итераторы и генераторы
- Коллекции Map/Set/WeakMap/WeakSet
- Дата/время: ISO, тайм-зоны (без внешних либ)
- Полифиллы: map/filter/reduce
- compose/pipe
- once/memoize
- debounce/throttle
- deepEqual (без циклов)
- deepClone (Date/Array/Object)
- deepMerge (объединение с приоритетом)
- flatten/flatMap
- LRU‑cache (O(1), двусвязный список)
- PriorityQueue (мин‑куча на массиве)
- LinkedList (вставка/удаление/печать)
- Простой роутер (path‑matching с параметрами)
- Range/Chunk итераторы
- Дифф объектов (поверхностный, ключи)
- Парсер подмножества JSON (токенизация+разбор)
- Шаблонизатор mini‑{{var}} (escape/replace)
- Promise.allSettled
- Ограничение параллелизма (pool)
- Очередь задач (serial queue)
- Семафор/мьютекс на промисах
01Ядро языка JS
- Типы и сравнение: == vs ===, NaN/Infinity, BigInt
- Область видимости и hoisting
- this/context и bind/call/apply
- Замыкания и фабрики функций
- Деструктуризация, rest/spread
- Итераторы и генераторы
- Коллекции Map/Set/WeakMap/WeakSet
- Дата/время: ISO, тайм-зоны (без внешних либ)
02Функциональные утилиты
- Полифиллы: map/filter/reduce
- compose/pipe
- once/memoize
- debounce/throttle
- deepEqual (без циклов)
- deepClone (Date/Array/Object)
- deepMerge (объединение с приоритетом)
- flatten/flatMap
03Объекты и структуры
- LRU‑cache (O(1), двусвязный список)
- PriorityQueue (мин‑куча на массиве)
- LinkedList (вставка/удаление/печать)
- Простой роутер (path‑matching с параметрами)
- Range/Chunk итераторы
- Дифф объектов (поверхностный, ключи)
- Парсер подмножества JSON (токенизация+разбор)
- Шаблонизатор mini‑{{var}} (escape/replace)
04Асинхронность и управление
- Promise.allSettled
- Ограничение параллелизма (pool)
- Очередь задач (serial queue)
- Семафор/мьютекс на промисах
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Практикум по JavaScript» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 3 сентября 2026 г.

Stepik 




















