Ответ
Мемоизация — это техника оптимизации, при которой результаты дорогостоящих вызовов функций кэшируются и возвращаются из кэша при повторных вызовах с теми же аргументами. Это позволяет избежать лишних вычислений.
Пример с React и useMemo:
const expensiveCalculation = (num) => {
console.log('Calculating...');
return num * 2;
};
const Component = ({ value }) => {
const memoizedValue = useMemo(() => expensiveCalculation(value), [value]);
return <div>{memoizedValue}</div>;
};В JavaScript можно реализовать мемоизацию вручную:
const memoize = (fn) => {
const cache = {};
return (...args) => {
const key = JSON.stringify(args);
return cache[key] || (cache[key] = fn(...args));
};
};Используется для оптимизации производительности, особенно при работе с тяжелыми вычислениями или часто вызываемыми функциями.