Javascript 클로저

백엔드·2020년 10월 20일
0

Javascript 문법

목록 보기
2/16

간단한 핵심만 파악하자

  • 자바스크립트는 함수 단위스코프가 생성된다

위의 그림과 같이 outer function의 scope가 만들어진다.


  • 스코프는 함수 단위 마다 생성되므로 inner용 스코프 생성


  • inner 스코프에 찾으려는 변수가 없으면 outer 스코프를 탐색한다

=> inner function이 outer function 안에서 생성되었기 때문에 inner scope는 other scope를 연결하고 있다


  • outer를 선언한 곳이 global이기 때문에 outer scope는 global scope로 연결되어 있다


=> 이렇듯 스코프끼리 계속 연결되 있는것이 스코프 체인이다

결국 클로저는 스코프(각 함수마다 존재, 변수 명들의 집합)를 계속 들고 있다.

원래는 함수 내부에 선언한 변수는 함수가 끝나면 사라지지만, 클로저가 스코프를 계속 들고 있으므로 그 함수 내부의 변수를 참조할 수 있게 됨!

profile
백엔드 개발자

0개의 댓글

관련 채용 정보