Варианты переноса тяжёлых вычислений из основного потока Web Workers (браузер): запускают JavaScript в отдельном потоке, поэтому UI не блокируется. setTimeout/setImmediate: позволяют разделить задачу на небольшие…
Как выполнить глубокое копирование объекта без JSON и StructuredClone? рекурсивно обходим и копируем все свойства исходного объекта различаем типы данных: объекты, массивы, даты и функции создаём отдельные экземпляры…
Порядок вычисления выражения A || B && C логические операторы, для которых действует приоритет операций приоритет оператора && выше приоритета || поэтому первым вычисляется фрагмент B && C после этого полученный…
Контекст: управление состоянием в Redux и аналогичных библиотеках dispatch выполняется синхронно, поэтому последовательность вызовов имеет значение чтобы выполнить действие последним, вызовите dispatch в конце цепочки…
Как запустить скрипт в отдельном потоке? многопоточность и асинхронность в JS Web Workers как отдельные потоки браузера Worker не блокирует пользовательский интерфейс обмен данными с основным потоком через…
Управление состоянием в React В классовых компонентах состояние находится в this.state Для изменения применяется this.setState: метод асинхронный и объединяет обновления В функциональных компонентах состояние задаётся…
Управлять окружением с помощью виртуальных сред (virtualenv, venv, conda) Использовать Docker-контейнеры, чтобы отделить системные и библиотечные зависимости Явно закреплять версии в файлах вроде requirements.txt,…
область DOM-событий event.target — это элемент, на котором событие возникло изначально, то есть его источник event.currentTarget — элемент, чей обработчик в данный момент выполняет обработку события event.target может…
Как проверить видимость элемента во viewport? фронтенд, определение видимости элемента определяем положение элемента относительно области просмотра браузера применяем метод getBoundingClientRect(): он возвращает…
Как определить, что переменная является массивом? В JavaScript массив представляет собой объект, обладающий специальными свойствами и поведением. Наиболее надёжный вариант — вызвать метод Array.isArray(variable): если…
Создание простого модального окна на чистом JavaScript DOM: формируем контейнер модалки, затемняющий фон и область содержимого CSS: задаём fixed-позиционирование, затемнение страницы и выравнивание по центру…
Оптимизация производительности React-компонента с галереей и большим списком профилирование производительности: сначала запустить React Profiler и вкладку Performance tab в Chrome DevTools, чтобы получить измерения…