Memoization किसी फ़ंक्शन के परिणामों को इसके तर्कों द्वारा कुंजीबद्ध करके कैश करता है, इसलिए समान इनपुट के साथ दोहराई गई कॉल तुरंत कैश किए गए परिणाम को फिर से गणना करने के बजाय वापस करती है। यह गति के लिए मेमोरी का व्यापार करता है और केवल शुद्ध फ़ंक्शन के लिए काम करता है (समान इनपुट → समान आउटपुट, कोई दुष्प्रभाव नहीं)।
एक सामान्य memoize आवरण
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
