Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: мемоизация, optimization, функция

Что такое мемоизация, и как её можно использовать для оптимизации производительности?

Этот вопрос проверяет знание мемоизации как техники оптимизации, которая позволяет улучшить производительность за счёт кэширования результатов функций.

Короткий ответ

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

Длинный ответ

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

Пример простейшей мемоизации:

function memoize(fn) {
  	const cache = {};  
  	return function (...args) {
      		const key = JSON.stringify(args);    
     		 if (cache[key]) {
            		return cache[key];    
     		 }    
      		const result = fn(...args);    
     		 cache[key] = result;    
      		return result;  
 	 }; 
} 

const slowFunction = (num) => {
  console.log('Computing...');  
  return num * 2; 
}; 

const memoizedFunction = memoize(slowFunction); 
console.log(memoizedFunction(5)); // "Computing..." 10 
console.log(memoizedFunction(5)); // 10 (результат взят из кэша)

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

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#мемоизация

#optimization

#функция

Подпишись на React Developer в телеграм