학습 내용 정리/javascript
실행 컨텍스트와 클로저
verdantjuly
2023. 8. 4. 09:37
728x90
실행 컨텍스트
소스코드를 실행하는데 필요한 환경을 제공하고 코드의 실행결과를 실제로 관리하는 영역
식별자(변수, 함수, 클래스 등의 이름) 를 등록하고 관리하는 스코프와 코드 실행순서 관리를 구현한 내부 매커니즘
실행 순서는 실행 컨텍스트 스택으로 관리한다.
실행 컨텍스트 스택 - 코드의 평가와 실행
클로저
외부 함수보다 중첩 함수가 더 오래 유지되는 경우
중첩함수는 이미 생명주기가 종료한 외부함수의 변수를 참조할 수 있다.
이러한 중첩함수를 클로저라고 부른다.
예제 )
const x = 1;
function outer(){
const x = 10;
const inner = function(){console.log(x);}
return inner;
}
const innerFunc = outer();
innerFunc();
참고 자료 : 모던 자바스크립트 딥 다이브