الرجوع الي الدرس

وضع و تقليل للعداد

الأهمية: 5

عدل الكود الخاص بالدالة makeCounter() بحيث يمكن للعداد أيضاً أن يخفض أو يضبط العدد:

  • counter() يجب أن تُرجِع الرقم التالي (كما في السابق).
  • counter.set(value) يجب أن تضع قيمة العداد إلي value.
  • counter.decrease() يجب أن تقلل قيمة العداد بفارق واحد.

إنظر لصندوق الكود بالأسفل لإستخدام المثال كاملاً

ملحوظة: يمكنك إستخدام إما الإغلاق أو خاصية الدالة للمحافظة على العداد الحالي. أو تستخدم الإثنين إذا أردت.

افتح sandbox بالإختبارات.

الحل يستخدم count في المتغير المحلي، لكن الوظائف الإضافية تمت كتابتها بجانب counter. إنهم يتشاركون نفس البيئة المعجمية الخارجية ويمكنهم أيضاً الوصول إلى القيمة الحالية count.

function makeCounter() {
  let count = 0;

  function counter() {
    return count++;
  }

  counter.set = value => count = value;

  counter.decrease = () => count--;

  return counter;
}

افتح الحل الإختبارات في sandbox.