На странице собраны вопросы по JavaScript — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: frontend, async, javascript.
Мемоизация вызова селектора задача — сократить пересчёты селекторов в state-менеджерах, таких как Redux и Recoil мемоизация сохраняет вычисленный результат, пока входные данные не изменились часто для этого применяют…
Как работают замыкания в циклах и обработчиках событий замыкание — это функция, которая может обращаться к переменным из внешней области видимости в цикле замыкание сохраняет ссылку на переменную, а не её текущее…
Как запустить скрипт в отдельном потоке? многопоточность и асинхронность в JS Web Workers как отдельные потоки браузера Worker не блокирует пользовательский интерфейс обмен данными с основным потоком через…
Контекст безопасности: клиентское хранилище и web security LocalStorage не использует шифрование и доступен любому скрипту, выполняющемуся в пределах того же домена. Базовый уровень защиты обеспечивает изоляция по…
Управление состоянием в React В классовых компонентах состояние находится в this.state Для изменения применяется this.setState: метод асинхронный и объединяет обновления В функциональных компонентах состояние задаётся…
Управлять окружением с помощью виртуальных сред (virtualenv, venv, conda) Использовать Docker-контейнеры, чтобы отделить системные и библиотечные зависимости Явно закреплять версии в файлах вроде requirements.txt,…
сначала анализировать имеющееся решение и находить "узкие места" — операции, обладающие наибольшей сложностью выбирать алгоритмы с более высокой эффективностью и меньшей асимптотикой, например O(n log n) вместо O(n²)…
область DOM-событий event.target — это элемент, на котором событие возникло изначально, то есть его источник event.currentTarget — элемент, чей обработчик в данный момент выполняет обработку события event.target может…
Как проверить видимость элемента во viewport? фронтенд, определение видимости элемента определяем положение элемента относительно области просмотра браузера применяем метод getBoundingClientRect(): он возвращает…
Как определить, что переменная является массивом? В JavaScript массив представляет собой объект, обладающий специальными свойствами и поведением. Наиболее надёжный вариант — вызвать метод Array.isArray(variable): если…
Как создать собственную очередь задач с приоритетами структура данных: приоритетная очередь (priority queue) хранение задач, каждой из которых назначено числовое значение приоритета (чем меньше число, тем выше…
Создание простого модального окна на чистом JavaScript DOM: формируем контейнер модалки, затемняющий фон и область содержимого CSS: задаём fixed-позиционирование, затемнение страницы и выравнивание по центру…