-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
return된 함수 질문드립니다.
20.12.25 20:08 작성 조회수 103
0
function makeCounter() {
let count = 0;
return function() {
return count++;
};
}
let counter = makeCounter();
console.log( counter() ); // 0(?)
console.log( counter() ); // 1(?)
console.log( counter() ); // 2(?)
좋은 강의 잘 듣고 있습니다만, Closure부터 이해가 안되기 시작하네요..
질문 드립니다..
위의 코드의 경우에
counter = function() { return count++; };
이라서 이를 counter()로 실행하면 counter를 찾아야하기 때문에 외부 렉시컬 환경으로 나가서
let counter = 0;
이라는 것을 찾아서 0을 가져와서 `++`로 증감시키면 1, 2, 3이되어야하는것 아닌가요?
이 부분이 0이 되는 이유를 모르겠습니다...
답변을 작성해보세요.
답변 2