Ответ
Мемоизация — это частный случай кэширования, применяемый для функций. Она сохраняет результаты вызовов функции с определенными аргументами, чтобы избежать повторных вычислений. Пример в React с useMemo:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Кэширование — более общая концепция хранения данных (например, API-ответов, изображений) для ускорения доступа. Пример с localStorage:
const cachedData = localStorage.getItem('data') || fetchDataAndCache();
Ключевые отличия:
- Мемоизация работает на уровне функций, кэширование — на уровне данных
- Мемоизация часто автоматически инвалидируется при изменении аргументов
- Кэш обычно требует ручного управления сроком жизни данных