Memoization menyimpan hasil fungsi dalam cache yang dikunci oleh argumennya, jadi panggilan berulang dengan input yang sama mengembalikan hasil yang disimpan secara instan bukan daripada menghitung ulang. Ia menukar memori untuk kecepatan dan hanya berfungsi untuk fungsi pure (input yang sama → output yang 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);
();
();
