Современный JavaScript: каталог в браузере
Новые курсы · Все опубликованные курсы
В 40 уроках соберём учебный каталог в браузере и постепенно усложним его поведение. Первые 20 шагов ведут от значений и функций к DOM, форме, модулям и загрузке JSON. Продолжение добавляет состояние в URL, управление запросами, работу с данными, компоненты и отдельные браузерные API.
Учебные программы и измерения пока не запускались; описанные состояния являются ожидаемыми.
Перед началом
Базовые HTML, файлы проекта и инструменты разработчика. Для модулей и fetch потребуется локальный HTTP-сервер.
В первой части используется catalog-lab. В продолжении каждый опыт имеет самостоятельный снимок в advanced: можно читать исходники одного урока, сохраняя общие данные и модули. Учебные числа в каталоге фиксированы для объяснения и не обозначают размер настоящей библиотеки.
Основа: уроки 1–20
- JavaScript в браузере: первая программа
- Значения и типы данных в JavaScript
- Переменные и область видимости в JavaScript
- Условия в JavaScript: отбор карточек каталога
- Циклы в JavaScript: обход данных каталога
- Функции в JavaScript: параметры и возвращаемый результат
- Массивы в JavaScript: изменение и копирование
- Объекты в JavaScript: модель учебного курса
- filter, map и reduce в JavaScript: обработка массива
- Деструктуризация в JavaScript и значения по умолчанию
- Ошибки в JavaScript: проверка данных каталога
- JavaScript и DOM: поиск элементов страницы
- Создание элементов DOM в JavaScript: карточки каталога
- События в JavaScript: изменение состояния интерфейса
- FormData в JavaScript: чтение параметров формы
- ES-модули в JavaScript без сборщика
- Promise в JavaScript: результат асинхронной операции
- Fetch API в JavaScript: загрузка JSON
- async и await в JavaScript: последовательность операций
- Каталог на JavaScript: модули и состояния интерфейса
Продолжение: уроки 21–40
- JavaScript: хранение состояния интерфейса в URL
- AbortController в JavaScript: отмена устаревшего запроса
- JavaScript: гонки сетевых ответов и актуальность данных
- Пагинация на JavaScript: постраничная загрузка из API
- Валидация формы в JavaScript
- Делегирование событий в JavaScript
- JavaScript: локальное хранение настроек интерфейса
- Даты и часовые пояса в JavaScript
- Intl в JavaScript: форматирование чисел и дат
- Строки и Unicode в JavaScript
- Map и Set в JavaScript: коллекции данных
- Итераторы и генераторы в JavaScript
- this в JavaScript: контекст вызова функции
- Замыкания в JavaScript и время жизни данных
- Классы и прототипы в JavaScript
- Custom Elements в JavaScript: собственный элемент каталога
- IntersectionObserver в JavaScript: наблюдение за элементом
- ResizeObserver в JavaScript: размер контейнера и диаграмма
- Web Worker в JavaScript: вычисления и обмен сообщениями
- Миграция jQuery-компонента на стандартные API JavaScript
Учебные исходники
Исходники первой части · Исходники продолжения. В архивах есть инструкции, целые файлы и отдельные состояния примеров.