Memoization huhifadhi matokeo ya function kwa kutumia hoja zake kama ufunguo (key), ili miito ya kurudia yenye ingizo lile lile irudishe matokeo yaliyohifadhiwa papo hapo badala ya kuyakokotoa upya. Hubadilishana kumbukumbu kwa kasi (memory for speed) na hufanya kazi tu kwa functions safi (pure) (ingizo lile lile → matokeo yale yale, bila madhara ya kando).
Kifunika cha memoize cha jumla
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
