const cache = new WeakMap();
function expensiveOperation(obj) {
if (cache.has(obj)) {
console.log('Cache hit!');
return cache.get(obj);
}
console.log('Computing result...');
const result = obj.value * 2;
cache.set(obj, result);
return result;
}
const user = { value: 42 };
expensiveOperation(user);
expensiveOperation(user);
expensiveOperation({ value: 42 });
Ответ: Computing result... Cache hit! Computing result...
JavaScript test | #JavaScript & Max