javascript
1let setUp = () => { 2 let count = 0; 3 return () => { 4 return count += 1; 5 } 6}; 7console.log(setUp()); //1 8console.log(setUp()); //1 9console.log(setUp()); //1 10let next = setUp(); 11console.log(next()); //1 12console.log(next()); //2 13console.log(next()); //3
上記のようなコードがあったとします。
なぜ変数nextに入れるとcountに値が保存されるのでしょうか?
next()を呼び出すごとにcountの値が更新される理由がわかりません。おそらくスコープが関係しているとは思うのですが…
初歩的な質問で申し訳ありません。回答よろしくお願い致します。
console.log(setUp()); //1
当方の環境では、1 ではなく関数が返って来ました。おそらくコードの転記ミスかと思いますので、ご確認ください。
回答4件
あなたの回答
tips
プレビュー