function makeCounter() {
let count = 0; // 어휘적 환경에 변수 'count' 생성
function increase() {
count++; // 'count' 변수 사용
return count;
}
return increase; // 함수 반환
}
const counter = makeCounter(); // makeCounter 함수 호출 및 반환된 함수 저장
console.log(counter()); // 1 출력
console.log(counter()); // 2 출력
함수 종료시 어휘적 변수 삭제 되는데
그걸 삭제안하고 사용하는게
클로저
귀엽노..
이제 자스에서 커링 함수가 되는 이유를 이해해보자