الدرس 3 من 8

الذاكرة المؤقّتة

هدف الدرس

لا تحسب ما حسبته

01

الشرح

إن كانت الدالة نقيّة — نفس المُدخل يعطي نفس المُخرج دائمًا ولا تغيّر شيئًا خارجها — فحسابها مرّتين لنفس المُدخل هدر خالص.

التذكير (memoize) يلفّها بخريطة: إن كان المفتاح موجودًا أرجِع المحفوظ، وإلا احسب واحفظ.

وMap أنسب من الكائن هنا: تقبل أي نوع مفتاحًا، ولا ترث خصائص قد تصطدم بمفاتيحك.

تنبيه: لا تُذكّر دالة غير نقيّة — إن كانت تقرأ الوقت أو تعتمد على حالة خارجية فستُرجع لك الماضي.

02

المطلوب

اكتب memoize(fn) بحيث لا تُستدعى الدالة الأصلية مرّتين لنفس المُدخل.

معايير التصحيح

6 معايير
  1. memoize تُرجع دالة
  2. النتيجة صحيحة
  3. نفس المُدخل يُحسب مرّة واحدة
  4. مُدخل مختلف يُحسب من جديد
  5. تميّز بين وسائط متعدّدة
  6. الصفحة حسبت مرّة واحدة لثلاثة نداءات
index.html
المعاينة
index.html100%
–/6

اضغط «تشغيل» ليبدأ الفحص.

6 معايير في بطاقة «المطلوب».