JavaScript для разработчика: язык и браузер
JavaScript для разработчика: функции и объекты, Promise и async/await, цикл событий, DOM, запросы, отмена, модули и управление памятью.
Материалы раздела
- Цикл while в JavaScript: условие, завершение и обработка данных — Цикл while повторяет действие, пока условие остаётся истинным. Его удобно применять, когда число повторений определяется данными: нужно найти свободное место, разобрать строку…
- Модуль числа, остаток и циклический индекс в JavaScript — Модуль числа и остаток от деления решают разные задачи: Math.abs измеряет величину без знака, а оператор % вычисляет остаток.
- Методы массивов JavaScript: преобразование, поиск и свёртка — Методы массивов позволяют выразить обработку коллекции через цель: отобрать элементы, преобразовать каждый, найти подходящий или вычислить общий результат.
- Копирование и перенос данных в JavaScript: ссылки, structuredClone и transfer — Присваивание объекта в JavaScript копирует ссылку на него, а не создаёт независимую копию данных. Чтобы выбрать между поверхностной копией, глубоким клонированием и переносом…
- Замыкания JavaScript: состояние функции, области видимости и время жизни — Замыкание сохраняет доступ функции к переменным окружающей области видимости. Благодаря этому обработчик может помнить настройки и изменяемое состояние после завершения вызова, в…
- this в JavaScript: вызов метода, стрелки и bind — Значение this в обычной функции зависит от способа её вызова. Объект, в котором функция когда-то находилась, не становится её постоянным владельцем: при передаче метода как…
- Модули JavaScript: import, export и границы общего состояния — ES modules разделяют программу на файлы с явными зависимостями и экспортами. Импорт связывает модули через публичные имена, поэтому внутренние детали можно менять без превращения…
- Promise в JavaScript: цепочки, ошибки и объединение операций — Promise представляет будущий результат операции и позволяет связать продолжение с её успехом или ошибкой. Он помогает описать зависимости между действиями, но сам по себе не…
- async и await: зависимости, параллельное ожидание и обработка ошибок — Синтаксис async/await позволяет читать асинхронную операцию как последовательность шагов, сохраняя модель Promise.
- Event loop в браузере: задачи, микрозадачи и отрисовка — Цикл событий браузера согласует выполнение JavaScript, обработку событий и возможности обновления экрана. Понимание задач и микрозадач помогает объяснить порядок Promise и…
- DOM в JavaScript: поиск, обход дерева и делегирование событий — DOM представляет документ как дерево объектов, с которым JavaScript работает через браузерный API. Поиск элементов, изменение текста и обработка событий позволяют связать данные…
- DOMParser: извлечение данных из HTML и XML без опасной вставки — DOMParser превращает строку HTML или XML в отдельный документ, по которому можно выполнять обычные DOM-запросы.
- Fetch API: HTTP-ошибки, чтение ответа, отмена и гонки запросов — Fetch API выполняет запрос ресурса и возвращает Promise с объектом Response. Надёжная загрузка отдельно проверяет транспортный результат, HTTP-статус, формат тела и актуальность…
- Debounce и throttle: частота вызовов, контекст и очистка — Debounce откладывает действие до паузы в потоке вызовов, а throttle ограничивает частоту выполнения во время продолжающегося потока.
- Модули во Vue 3: ES modules, SFC и composable с собственным состоянием — Во Vue слово «модуль» может обозначать обычный файл JavaScript, компонент SFC или выделенную часть функциональности.
- Память JavaScript: достижимость, утечки и проверка в DevTools — Автоматическая сборка мусора освобождает недостижимые данные, но не знает, какие доступные объекты больше не нужны приложению.