Memoization menyimpan hasil fungsi dalam cache dengan kunci berdasarkan argumennya, sehingga panggilan berulang dengan input yang sama mengembalikan hasil cache secara instan daripada menghitung ulang. Ini menukar memori untuk kecepatan dan hanya bekerja untuk fungsi murni (input sama → output sama, tanpa efek samping).
Wrapper memoize generik
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
