Подробнее
Что нужно для старта
- Базовое знание основ JavaScript. Будет плюсом знание HTML и CSS.
Что вы получите
- Работать с Map и Set, WeekMap и WeekSet
- Работать с числами, Math и BigInt
- Работать с интернационализацией чисел и дат через Intl API
- Работать с таймерами и интервалами
- Понимать.принципы ООП
- Использовать prototype и ES6 классы
- Понимать и применять SOLID
- Писать асинхронный JavaScript
- Делать запросы на сервер и понимать принцип их работы
- Понимать как работает Event Loop
- Создавать и обрабатывать Promise
- Понимать устройство DOM и его работу
- Обрабатывать Event и понимать концепции захвата и всплытия
- Создавать модульные приложения на commonjs и es6
- Работать с NPM
- Настраивать сборку проекта
Для кого этот курс
- Начинающим разработчиками со знанием основ JS, HTML и CSS. Для тех, кто хочет структурировать знания или узнать как работает JS под капотом. Для тех, кто хочет углубить знания перед переходом к фреймворкам.
Программа курса
- Продвинутый JavaScript
- Как устроен курс
- Обзор проекта
- Обзор курсов
- Перенос курса
- Настройка окружения
- Установка NodeJS
- Настройки VSCode
- Настройка проекта
- Структура Set
- Sets
- Структура Map
- Основы работы с Map
- Быстрое создание Map
- Итерация по Map
- Упражнение - swap ключей и значений
- WeakMap
- WeakSet
- Тест - Maps и Sets
- Конвертация и проверка чисел
- Библиотека Math
- Округление
- Упражнение - Функция случайного числа
- Оператор остатка от деления
- Разделитель чисел
- Работа с BigInt
- Интернационализация чисел
- Упражнение - Конвертер валют
- Тест - Расчёты и math
- Создание дат
- Операции с датами
- Сравнение дат
- Упражнение - Проверка на день рождения
- Интернационализация дат
- Тест - Дата и время
- Создание таймеров
- Таймеры и Event Loop
- Точность таймеров
- Работа с интервалами
- Упражнение - Таймер пиццы
- Тест - Таймеры
- Что такое ООП
- Реализация ООП в JS
- Оператор new
- Prototype
- Упражнение - Корзина товаров
- Цепочки prototype
- Тест - Объектно ориентированное программирование
- Классы
- Setters и getters
- Static
- Приватные методы и свойства
- Упражнение - класс пользователя
- Object.create
- Тест - Классы
- Абстракция и инкапсуляция
- Наследование
- Наследование в ES6
- Override методов
- Упражнение - Удар по орку
- Полиморфизм
- Паттерн Builder и chaining
- Тест - Принципы ООП в классах
- О SOLID
- Принцип единой ответственности
- Принцип открытости и закрытости
- Принцип подстановки Барбары Лисков
- Принцип разделения интерфейса
- Принцип инверсии зависимостей
- Тест - SOLID
- Асинхронный код в JS
- Запросы на сервер
- Пример работы с Insomnia
- JSON
- Получение данных
- Упражнение - Расчёт цены
- Проблемы callback
- Тест - Асинхронный JavaScript
- Promises и fetch
- Обработка promises
- Цепочка promise
- Обработка reject
- Finally
- Упражнение - Select выбора категорий
- Ручное создание ошибок
- Упражнение - Функция запросов
- Тест - Promises
- Как работает асинхронность
- Пример работы Event Loop
- Создание простого Promise
- Статические методы Promise
- Упражнение - создание fetch
- Тест - Event Loop
- Async await
- Try catch
- Упражнение - Мой город
- Асинхронные методы
- Последовательность выполнения
- Параллельное выполнение
- Другие комбинации Promise
- Все возможности fetch
- Упражнение - Генератор активностей
- Тест - Современный Асинхронный JavaScript
- Как работает DOM
- Работа с элементами
- Визуальное положение элементов
- Типы событий и обработчики
- Всплытие событий
- Пример всплытия событий
- Делегирование событий
- Перемещение по DOM
- Жизненный цикл событий DOM
- Упражнение - Поиск по списку
- Загрузка скриптов defer и async
- Тест - Продвинутый DOM и Events
- Модули в JavaScript
- IIFE в модулях
- Модули commonjs
- ES6 модули
- Await на верхнем уровне
- Процесс сборки
- Тест - Модульность
- Обзор NPM
- Авторизация и профиль
- Разбор package json
- Управление зависимостями
- Тест - Работа с NPM
- Обзор проекта
- Настройка проекта
- Конфигурация сборщика
- View страниц и роутинг
- State и реактивности
- Первый компонент
- Вёрстка шапки
- Компонент поиска
- Поиск книг
- Упражнение - Состояние загрузки
- Вёрстка карточки
- Упражнение - Добавление в избранное
- Упражнение - Избранное
- Развитие проекта
- Куда двигаться дальше?
01Вводное видео
- Продвинутый JavaScript
- Как устроен курс
- Обзор проекта
- Обзор курсов
- Перенос курса
02Настройка окружения
- Настройка окружения
- Установка NodeJS
- Настройки VSCode
- Настройка проекта
03Maps и Sets
- Структура Set
- Sets
- Структура Map
- Основы работы с Map
- Быстрое создание Map
- Итерация по Map
- Упражнение - swap ключей и значений
- WeakMap
- WeakSet
- Тест - Maps и Sets
04Расчёты и math
- Конвертация и проверка чисел
- Библиотека Math
- Округление
- Упражнение - Функция случайного числа
- Оператор остатка от деления
- Разделитель чисел
- Работа с BigInt
- Интернационализация чисел
- Упражнение - Конвертер валют
- Тест - Расчёты и math
05Даты и время
- Создание дат
- Операции с датами
- Сравнение дат
- Упражнение - Проверка на день рождения
- Интернационализация дат
- Тест - Дата и время
06Таймеры
- Создание таймеров
- Таймеры и Event Loop
- Точность таймеров
- Работа с интервалами
- Упражнение - Таймер пиццы
- Тест - Таймеры
07Объектно ориентированное программирование
- Что такое ООП
- Реализация ООП в JS
- Оператор new
- Prototype
- Упражнение - Корзина товаров
- Цепочки prototype
- Тест - Объектно ориентированное программирование
08Классы
- Классы
- Setters и getters
- Static
- Приватные методы и свойства
- Упражнение - класс пользователя
- Object.create
- Тест - Классы
09Принципы ООП в классах
- Абстракция и инкапсуляция
- Наследование
- Наследование в ES6
- Override методов
- Упражнение - Удар по орку
- Полиморфизм
- Паттерн Builder и chaining
- Тест - Принципы ООП в классах
10SOLID
- О SOLID
- Принцип единой ответственности
- Принцип открытости и закрытости
- Принцип подстановки Барбары Лисков
- Принцип разделения интерфейса
- Принцип инверсии зависимостей
- Тест - SOLID
11Асинхронный JavaScript
- Асинхронный код в JS
- Запросы на сервер
- Пример работы с Insomnia
- JSON
- Получение данных
- Упражнение - Расчёт цены
- Проблемы callback
- Тест - Асинхронный JavaScript
12Promises
- Promises и fetch
- Обработка promises
- Цепочка promise
- Обработка reject
- Finally
- Упражнение - Select выбора категорий
- Ручное создание ошибок
- Упражнение - Функция запросов
- Тест - Promises
13Event Loop
- Как работает асинхронность
- Пример работы Event Loop
- Создание простого Promise
- Статические методы Promise
- Упражнение - создание fetch
- Тест - Event Loop
14Современный Асинхронный JavaScript
- Async await
- Try catch
- Упражнение - Мой город
- Асинхронные методы
- Последовательность выполнения
- Параллельное выполнение
- Другие комбинации Promise
- Все возможности fetch
- Упражнение - Генератор активностей
- Тест - Современный Асинхронный JavaScript
15Продвинутый DOM и Events
- Как работает DOM
- Работа с элементами
- Визуальное положение элементов
- Типы событий и обработчики
- Всплытие событий
- Пример всплытия событий
- Делегирование событий
- Перемещение по DOM
- Жизненный цикл событий DOM
- Упражнение - Поиск по списку
- Загрузка скриптов defer и async
- Тест - Продвинутый DOM и Events
16Модульность
- Модули в JavaScript
- IIFE в модулях
- Модули commonjs
- ES6 модули
- Await на верхнем уровне
- Процесс сборки
- Тест - Модульность
17Работа с NPM
- Обзор NPM
- Авторизация и профиль
- Разбор package json
- Управление зависимостями
- Тест - Работа с NPM
18Проект - Библиотека книг
- Обзор проекта
- Настройка проекта
- Конфигурация сборщика
- View страниц и роутинг
- State и реактивности
- Первый компонент
- Вёрстка шапки
- Компонент поиска
- Поиск книг
- Упражнение - Состояние загрузки
- Вёрстка карточки
- Упражнение - Добавление в избранное
- Упражнение - Избранное
- Развитие проекта
19Заключение
- Куда двигаться дальше?
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «JavaScript Advanced — продвинутые концепции языка и ООП» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 3 сентября 2026 г.

Stepik 

















