основа прототипного наследования в JS объект, предоставляющий наследуемые свойства и методы помогает повторно использовать код формирует цепочки наследования (prototype chain) экономит память, позволяя экземплярам…
Зачем нужны useMemo и useCallback и как работает мемоизация? React hooks для оптимизации производительности useMemo сохраняет результат функции useCallback сохраняет саму функцию (callback) Оба хука помогают избежать…
сохраняют типобезопасность, не ограничивая гибкость кода дают возможность создавать обобщённый код для работы с различными типами данных сокращают дублирование и повышают повторное использование кода делают код…
Зачем нужны методы call, apply и bind в JavaScript? Позволяют явно задавать контекст выполнения функции (this) call: запускает функцию, получая аргументы через запятую apply: запускает функцию, принимая аргументы…
Примитивные значения хранятся по значению: string, number, boolean, null, undefined, symbol и bigint При присваивании или передаче примитива копируется его значение Объекты (Array, Function, Object) хранятся по ссылке…
Как блокирующие операции влияют на Event Loop Event Loop — основа обработки асинхронных событий в JS Блокирующие операции приостанавливают цикл и замедляют выполнение задач Такие блокировки вызывают задержки UI и…
JavaScript и события DOM Для этого применяют метод addEventListener Синтаксис метода: element.addEventListener('click', handler) Функция-обработчик получает объект события (event) Один элемент может иметь несколько…
Как остановить всплытие события и зачем это делать DOM-событие распространяется по дереву вверх (всплытие) для остановки применяют метод event.stopPropagation() он не допускает вызов обработчиков на элементах выше…
методы строк для поиска подстроки в JS indexOf() находит индекс первого совпадения при движении слева направо lastIndexOf() определяет индекс последнего совпадения, выполняя поиск справа налево возвращают индекс…
Как выполнить глубокое копирование объекта без JSON и StructuredClone? рекурсивно обходим и копируем все свойства исходного объекта различаем типы данных: объекты, массивы, даты и функции создаём отдельные экземпляры…
область DOM-событий event.target — это элемент, на котором событие возникло изначально, то есть его источник event.currentTarget — элемент, чей обработчик в данный момент выполняет обработку события event.target может…