강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của leo
leo

câu hỏi đã được viết

JavaScript cốt lõi

return된 함수 질문드립니다.

Đã giải quyết

Viết

·

222

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이 되는 이유를 모르겠습니다...

javascript

Câu trả lời 2

0

jaenam님의 프로필 이미지
jaenam
Người chia sẻ kiến thức

:D

0

Leo님의 프로필 이미지
Leo
Người đặt câu hỏi

공부하다보니 증가, 감소연산자의 후위형의 경우 리턴값은 반영되지 않기 때문이네요...

더 꼼꼼하게 공부해야겠습니다. ;)

Hình ảnh hồ sơ của leo
leo

câu hỏi đã được viết

Đặt câu hỏi