클로저를 더 공부해보자

준영·2022년 6월 27일
0

부트캠프 종료 후..

목록 보기
16/24

앞서 공부한 스코프와 스코프체인을 생각하면, 클로저에 대해서 쉽게 알 수 있다.

클로저

Code

function outer(){
	var b = 'B';
  
  function inner(){
  	console.log(b);
  }
  return inner
}

var someFunc = outer();
someFunc();

// console => 'B'

위의 코드와 같이 inner함수가 리턴이 됨과 동시에 var b = 'B'라는 변수는 사라져야하지만, someFunc()를 실행시키면 콘솔에는 'B'가 찍히는 것을 알 수 있다.
이러한 것이 바로 클로저이다. (생성한 시점에 스코프체인을 계속 들고 있는다고 생각하면 쉽게 이해가 된다.) 따라서 outer()가 실행된 이후에도, outer의 스코프에 계속 접근이 가능하기 때문에 이러한 결과가 나온것이다.

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글