클로저(CLOSURE)란 무엇일까? 자바스크립트는 렉시컬 스코프를 사용한다.렉시컬 스코프(정적 스코프)란,외부 렉시컬 환경(상위 스코프)에 대한 참조를 뜻하고,상위 스코프에 대한 참조는 함수가 정의된 위치에 의해 결정되는 것을 뜻한다. 즉, 특정 스코프 A에서 함수를 정의할 경우 그 함수의 렉시컬 스코프는 A가 된다. 자바스크립트에서 함수는 객체의 한 종류이고,내부 슬롯 [[Environment]]에 렉시컬 스코프를 저장한다.따라서 Environment 를 따라가면 실행 콘텍스트를 알 수 있고,자연스럽게 this 바인딩과 상위 스코프를 알 수 있다. 위의 관점에서 보면,상위 함수보다 중첩 함수가 더 오래 유지되는 경우에도중첩 함수는 이미 생명 주기가 끝난 상위 함수 내부의 값들에 접근할 수 있다.이런 중..