カウンタの設定と減少
重要性: 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;
}