Что такое мемоизация

Ответ

Мемоизация — это техника оптимизации, при которой результаты дорогостоящих вызовов функций кэшируются и возвращаются из кэша при повторных вызовах с теми же аргументами. Это позволяет избежать лишних вычислений.

Пример с 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));
  };
};

Используется для оптимизации производительности, особенно при работе с тяжелыми вычислениями или часто вызываемыми функциями.