تنظیم و کم کردن برای شمارنده
اهمیت: 5
کد makeCounter()
را طوری تغییر دهید که شمارنده بتواند هم عدد را تنظیم کند و هم آن را کاهش دهد:
counter()
باید عدد بعدی را برگرداند (مانند قبل).counter.set(value)
باید شمارنده را درvalue
تنظیم کند.counter.decrease()
باید از شمارنده به اندازه 1 کم کند.
برای دیدن مثالی کامل از نحوه استفاده، کد جعبهٔ شنی(sandbox) را ببینید.
پینوشت: شما میتوانید از کلوژر یا ویژگی تابع برای حفظ کردن شماره کنونی استفاده کنید. یا هر دو نوع را بنویسید.
راهحل از count
در متغیر محلی استفاده میکند اما متدهای اضافی درست درون counter
نوشته شدهاند. آنها محیط لغوی بیرونی یکسان را به اشتراک میگذارند و همچنین میتوانند به count
کنونی دسترسی پیدا کنند.
function makeCounter() {
let count = 0;
function counter() {
return count++;
}
counter.set = value => count = value;
counter.decrease = () => count--;
return counter;
}