TGViewer
CodeRoll | Frontend CodeRoll | Frontend @coderoll · 4.06K subscribers
Post #2418 1.37K
Пояснение к ответу

Функция add является функцией запоминания (мемоизации). С помощью запоминания мы можем кешировать результаты вызова функции, чтобы ускорить ее повторное выполнение. В данном случае мы создаем объект cache для хранения возвращаемых функцией значений. Если мы повторно вызовем функцию addFunction с тем же аргументом, она сначала проверит, имеется ли соответствующее значение в кеше. Если такое значение имеется, оно возвращается, что экономит время на выполнение функции. Иначе, если значение в кеше отсутствует, оно вычисляется и сохраняется. Мы вызываем addFunction() 3 раза с одним и тем же аргументом: при первом вызове для num, равном 10, значение, возвращаемое функцией, в кеше отсутствует. Условие if (num in cache) возвращает false, и выполняется блок else: Вычислено! 20 выводится в консоль, а результат добавляется в объект cache. cache теперь выглядит как { 10: 20 }. При повторном вызове значение для аргумента 10 возвращается из кеша. Условие if (num in cache) возвращает true, и Из кеша! 20 выводится в консоль. В третий раз мы передаем в функцию выражение 5 * 2, что оценивается (вычисляется) как 10. Объект cache содержит искомое значение. Условие if (num in cache) возвращает true, и Из кеша! 20 выводится в консоль.
  • 👍 10
More from @coderoll
  1. Oct 16, 2026Используем принципы “Чистого кода” в контексте JavaScript. Функции ❗️ Не создавайте глобал…
  2. Oct 15, 2026⚡️ В сети начали массово сливать IT-курсы и книги известных онлайн школ Вот отсортированна…
  3. Oct 15, 2026❓ Как работает метод map? Ответ: Метод map создаёт новый массив, применяя указанную функци…
  4. Oct 14, 2026АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ Проект «Terminal» стал крупнейшей библиотекой бесплатного об…
  5. Oct 14, 2026GitHub Copilot – AI-помощник для написания кода Позволяет писать код быстрее, учиться на п…
  6. Oct 13, 2026Hero Patterns Онлайн-коллекция готовых к использованию SVG-фонов, которые легко интегриров…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →