Memoization ફંક્શનના પરિણામોને તેના દલીલો દ્વારા કીજ્ഞાપિત કરે છે, તેથી સમાન ઇનપુટ સાથે વારંવાર કॉલ તરત જ કેશ્ડ પરિણામ પરત કરે છે બદલે ફરીથી ગણતરી કરવાની જગાએ. તે મેમરી વિનિમય ગતિ માટે હાલાકી કરે છે અને માત્ર શુદ્ધ ફંક્શન્સ માટે કામ કરે છે (સમાન ઇનપુટ → સમાન આઉટપુટ, કોઈ આડઅસર નહીં).
એક સામાન્ય memoize ર્যાપર
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
