Мемоизация – это метод оптимизации, который делает приложение более эффективным, а значит быстрым и востребованным. Это происходит за счёт того, что в кэше сохраняются результаты вычислений и при необходимости эта информация оттуда извлекается и не нужно снова её вычислять.
Получается, что мемоизация – компромисс между производительностью и потреблением памяти. Хорошо подходит для функций, которые имеют не очень большой диапазон входных значений.
При правильной реализации эта функция в JavaScript отлично оптимизирует производительность путём ускорения кода. Но прежде чем её применять, нужно усвоить общее понимание работы промисов и асинхронного кода в JS и REST API.
Конечно, мемоизация нужна не всегда и оправдана, если ⬇️
▪️ Поставлена сложная задача, которая выполняется много раз и требует много вычислений.
▪️ Крайне важна скорость выполнения задачи.
▪️ Нет проблем с памятью для хранения ответов.
В JS мемоизация реализуется с помощью двух способов:
– замыкания – комбинации функции и ее окружения, в котором эта функция была объявлена;
– функцией высшего порядка, (когда она возвращает другие функции)
Также в JavaScript мемоизацию часто реализуют с использованием объектов или других структур данных для хранения кэша результатов функции.
#methed_про_ит