언어/JavaScript Deepdive
21장 : 클로저
클로저(Closure) 💡 함수와 그 함수가 선언된 렉시컬 환경과의 조합 외부 함수의 변수에 접근할 수 있는 내부 함수 = 중첩 함수 ex) const x = 1; function outerFunc() { const x = 10; function innerFunc() { // 클로저 console.log(x); // 10 } innerFunc(); } outerFunc(); 함수가 선언된 렉시컬 환경 innerFunc함수는 outerFunc의 렉시컬 환경을 참조하여 x변수의 값을 참조 이는 자바스크립트가 렉시컬 스코프를 따르고 있기 때문에 가능 --> 함수가 어디서 정의 되었는 지를 기반으로 상위 스코프 결정. 렉시컬 스코프**(정적 스코프)** JS엔진이 함수를 어디에 정의(호출X)했는지에 따라 상위 ..