JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Logo Q&A Logo

How does memoization work in JavaScript?

Asked on Aug 22, 2025

Answer

Memoization in JavaScript is an optimization technique that stores the results of expensive function calls and returns the cached result when the same inputs occur again. This can significantly improve performance for functions with costly computations.
<!-- BEGIN COPY / PASTE -->
        function memoize(fn) {
            const cache = new Map();
            return function(...args) {
                const key = JSON.stringify(args);
                if (cache.has(key)) {
                    return cache.get(key);
                }
                const result = fn(...args);
                cache.set(key, result);
                return result;
            };
        }

        // Example usage
        const slowFunction = (num) => {
            console.log("Computing...");
            return num * 2;
        };

        const fastFunction = memoize(slowFunction);

        console.log(fastFunction(5)); // Computing... 10
        console.log(fastFunction(5)); // 10 (cached result)
        <!-- END COPY / PASTE -->
Additional Comment:
  • The "memoize" function takes another function "fn" as an argument and returns a new function that caches results.
  • A "Map" is used to store cached results, with the JSON stringified arguments as the key.
  • When the memoized function is called, it checks if the result is already in the cache. If so, it returns the cached result; otherwise, it computes the result, caches it, and then returns it.
  • This technique is useful for functions with expensive computations that are called multiple times with the same arguments.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
The Q&A Network
JavaScript
Ask Questions / Get Answers about JavaScript!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
AI Education
Ask Questions / Get Answers about AI Education!
DevOps
Ask Questions / Get Answers about DevOps!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Photography
Ask Questions / Get Answers about Photography!
Security
Ask Questions / Get Answers about Website Security!
Tailwind
Ask Questions / Get Answers about Tailwind!
AI Design
Ask Questions / Get Answers about AI Design!
VR & AR
Ask Questions / Get Answers about VR & AR!
Web Hosting
Ask Questions / Get Answers about Hosting!
AI
Ask Questions / Get Answers about AI!
Data Science
Ask Questions / Get Answers about Data Science!
Film Production
Ask Questions / Get Answers about Film Production!
SEO
Ask Questions / Get Answers about SEO!
Web Languages
Ask Questions / Get Answers about Web Languages!
Performance
Ask Questions / Get Answers about Web Vitals!
Chatbots
Ask Questions / Get Answers about Chatbots!
Quantum
Ask Questions / Get Answers about Quantum Computing!
HTML
Ask Questions / Get Answers about HTML!
Networking
Ask Questions / Get Answers about Networking!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
Robotics
Ask Questions / Get Answers about Robotics!
AI Coding
Ask Questions / Get Answers about AI Coding!
Analytics
Ask Questions / Get Answers about Analytics!
AI Business
Ask Questions / Get Answers about AI Business!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Web Development
Ask Questions / Get Answers about Web Development!
CSS
Ask Questions / Get Answers about CSS!
IoT
Ask Questions / Get Answers about IoT!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
AI Images
Ask Questions / Get Answers about AI Images!
AI Writing
Ask Questions / Get Answers about AI Writing!
Video Editing
Ask Questions / Get Answers about Video Editing!
AI Video
Ask Questions / Get Answers about AI Video!
AI Audio
Ask Questions / Get Answers about AI Audio!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
WordPress
Ask Questions / Get Answers about WordPress!
AI Ethics
Ask Questions / Get Answers about AI Ethics!