JSFiddle - React, Tailwind, and code Playground

JavaScript

function main() {
    // memoize
    function fib(n) {
        var value = fib.cache[n];
        if (value) {
            console.log('Using memoized value for ' + n);
            return value;
        }
        // else
        if (n === 0 || n === 1) {
            value = n;
        } else {
            value = fib(n - 1) + fib(n - 2);
        }
        fib.cache[n] = value;
        return value;
    }
    fib.cache = {};
    
    // memoize up to 5.
    console.log(fib(5));
    // memoized by calculating first call
    console.log(fib(3));
}
main();