JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Topic Learning Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

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
Real Questions. Clear Answers.
JavaScript
Ask Questions / Get Answers about JavaScript!
Podcasting
Ask Questions / Get Answers about Podcasting!
IoT
Ask Questions / Get Answers about IoT!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
HTML
Ask Questions / Get Answers about HTML!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
Quantum
Ask Questions / Get Answers about Quantum Computing!
Web Development
Ask Questions / Get Answers about Web Development!
Illustration
Ask Questions / Get Answers about Illustration!
Security
Ask Questions / Get Answers about Website Security!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Tailwind
Ask Questions / Get Answers about Tailwind!
SEO
Ask Questions / Get Answers about SEO!
AI
Ask Questions / Get Answers about AI!
Networking
Ask Questions / Get Answers about Networking!
AI Images
Ask Questions / Get Answers about AI Images!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
AI Video
Ask Questions / Get Answers about AI Video!
Web Hosting
Ask Questions / Get Answers about Hosting!
AI Education
Ask Questions / Get Answers about AI Education!
Animation
Ask Questions / Get Answers about Animation!
AI Audio
Ask Questions / Get Answers about AI Audio!
AI Writing
Ask Questions / Get Answers about AI Writing!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
AI Business
Ask Questions / Get Answers about AI Business!
CSS
Ask Questions / Get Answers about CSS!
AI Coding
Ask Questions / Get Answers about AI Coding!
3D Design
Ask Questions / Get Answers about 3D Design!
Photography
Ask Questions / Get Answers about Photography!
Video Editing
Ask Questions / Get Answers about Video Editing!
Chatbots
Ask Questions / Get Answers about Chatbots!
WordPress
Ask Questions / Get Answers about WordPress!
Nursing
Ask Questions / Get Answers about Nursing!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Performance
Ask Questions / Get Answers about Web Vitals!
Web Languages
Ask Questions / Get Answers about Web Languages!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Film Production
Ask Questions / Get Answers about Film Production!
Sound Design
Ask Questions / Get Answers about Sound Design!
DevOps
Ask Questions / Get Answers about DevOps!
Digital Burnout
Ask Questions / Get Answers about Digital Burnout!
Robotics
Ask Questions / Get Answers about Robotics!
Business Finance
Ask Questions / Get Answers about Business Finance!
VR & AR
Ask Questions / Get Answers about VR & AR!
Analytics
Ask Questions / Get Answers about Analytics!
Data Science
Ask Questions / Get Answers about Data Science!
AI Design
Ask Questions / Get Answers about AI Design!
Social Media Psychology
Ask Questions / Get Answers about Social Media Psychology!