실행 컨텍스트와 클로저 구조

실행 컨텍스트는 코드가 실행되는 환경이고 클로저는 함수가 태어난 렉시컬 환경을 나중에도 기억하는 구조다.

개념좋은 사용위험 신호
Execution context함수 실행 중 필요한 정보 묶음지역 상태와 실행 순서 관리스택 흐름과 스코프 탐색 혼동
Lexical scope선언 위치로 정해지는 이름 범위코드 구조대로 이름 탐색호출 위치 기준으로 오해
Closure외부 변수를 기억하는 함수팩토리 함수, 이벤트 핸들러예상보다 오래 남는 상태
Private state외부에서 직접 못 보는 값 유지카운터, 설정 캡슐화공유 상태 변경 추적 어려움
Memory참조가 남으면 환경도 유지필요한 값만 캡처DOM이나 큰 객체를 붙잡음

클로저를 볼 때는 함수 내부 코드보다 그 함수가 어떤 바깥 값을 계속 참조하는지 확인한다.