カウンタの設定と減少
重要性: 5
makeCounter のコードを、カウンタを減らしたり、数値を設定できるように修正してください:
counter()は次の数値を返します (前の通り)counter.set(value)はcountにvalueをセットしますcounter.decrease()はcountを 1 減少させます
完全な使用例はサンドボックスのコードを見てください。
P.S. 現在のカウントを維持するために、クロージャまたは関数プロパティを使うことができます。もしくは両方のバリアントを書いてください。
解法はローカル変数で count を使いますが、追加のメソッドは counter に書かれています。それらは同じ外部のレキシカル環境を共有し、また現在の count にアクセスすることができます。
function makeCounter() {
let count = 0;
function counter() {
return count++;
}
counter.set = value => count = value;
counter.decrease = () => count--;
return counter;
}