In JavaScript, it’s commonly used for:
Join the software development bootcamp.
Instead of recalculating:
f(10) → compute again
f(10) → compute again
f(10) → compute again With memoization:
Join thousands already learning how to code online
f(10) → compute once
f(10) → return stored result
f(10) → return stored result function fib(n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
} This is slow because it recomputes the same values many times.
function memoizedFib() {
const cache = {}; // memory store
return function fib(n) {
if (n in cache) return cache[n]; // return saved result
if (n <= 1) return n;
const result = fib(n - 1) + fib(n - 2);
cache[n] = result; // save result
return result;
};
}
const fib = memoizedFib();
fib(40); // much faster
cache stores previous results.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;
};
} Usage:
const slowAdd = (a, b) => a + b;
const fastAdd = memoize(slowAdd);
fastAdd(3, 4); // calculated
fastAdd(3, 4); // from cache useMemo, useCallback)Memoization is caching function results so the same computation is never done twice.
Latest tech news and coding tips.
JavaScript's async and await keywords revolutionized asynchronous programming by making asynchronous code look and behave more like synchronous code.…
Pretty Good Privacy (PGP) is one of the most widely used encryption systems for securing emails,…
Database migration is one of the most challenging tasks in software engineering. While both PostgreSQL…
Modern JavaScript isn’t just let, const, arrow functions, and promises anymore. Over the years, the language has…
Software development is one of the most rewarding careers in technology, but it is also…
Printing a document in JavaScript usually means triggering the browser’s print dialog and controlling what…