function setupCounter(val){
console.log(val);
return function counter(){
console.log('counter func ', val);
return val++;
}
}
debugger
let counter1 = setupCounter(0);
console.log(counter1()); //0
console.log(counter1()); //1
counter1()
最初の呼び出しで値がインクリメントされず、0 が返される理由。しかし、2 番目の呼び出しでは、期待どおりに値が 1 にインクリメントされます。