بازگشت به درس

تنظیم و کم کردن برای شمارنده

اهمیت: 5

کد makeCounter() را طوری تغییر دهید که شمارنده بتواند هم عدد را تنظیم کند و هم آن را کاهش دهد:

  • counter() باید عدد بعدی را برگرداند (مانند قبل).
  • counter.set(value) باید شمارنده را در value تنظیم کند.
  • counter.decrease() باید از شمارنده به اندازه 1 کم کند.

برای دیدن مثالی کامل از نحوه استفاده، کد جعبهٔ شنی(sandbox) را ببینید.

پی‌نوشت: شما می‌توانید از کلوژر یا ویژگی تابع برای حفظ کردن شماره کنونی استفاده کنید. یا هر دو نوع را بنویسید.

باز کردن یک sandbox همراه با تست‌ها.

راه‌حل از count در متغیر محلی استفاده می‌کند اما متدهای اضافی درست درون counter نوشته شده‌اند. آنها محیط لغوی بیرونی یکسان را به اشتراک می‌گذارند و همچنین می‌توانند به count کنونی دسترسی پیدا کنند.

function makeCounter() {
  let count = 0;

  function counter() {
    return count++;
  }

  counter.set = value => count = value;

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

  return counter;
}

باز کردن راه‌حل همراه با تست‌ها درون یک sandbox.