Sobes.tech
Senior

const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 z pamięci podręcznej console.log(sum(4, 1)) // 5

sobes.tech AI

Odpowiedź od AI

javascript const createCachedSum = function() { const cache = new Map(); return function(a, b) { const key = ${a},${b}; if (cache.has(key)) { console.log('z pamięci podręcznej'); return cache.get(key); } const result = a + b; cache.set(key, result); return result; }; };

const sum = createCachedSum();

console.log(sum(2, 3)); // 5 console.log(sum(2, 3)); // 5 z pamięci podręcznej console.log(sum(4, 1)); // 5

Tutaj tworzona jest funkcja createCachedSum, która zwraca zamknięcie z wewnętrzną pamięcią podręczną. Przy wywołaniu funkcji sum z argumentami, sprawdzane jest, czy wynik już znajduje się w pamięci podręcznej, jeśli tak, zwracana jest zapisana wartość, w przeciwnym razie obliczana jest suma i zapisywana.