이 글은 https://poiemaweb.com/js-execution-context 를 토대로 공부한 내용을 정리한 것입니다.
이전에 var, let, const를 자세히 살펴보면서 호이스팅이란 개념 또한 알아봤는데, 그 과정에서 실행 컨텍스트라는 게 등장했다.
이 글에서는 실행 컨텍스트에 대한 것을 자세히 정리해볼 생각이다.
- 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리
- 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념
- 실행 컨텍스트는 실행 가능한 코드가 실행되기 위해 필요한 환경
이렇게만 보면 대충~ 알 수 있을 뿐 설명하라고 누가 말하면 명확하게 할 수 없을 것 같다...
개념 자체를 조금만 더 정리해보면.
자바스크립트 엔진은 코드를 실행하기 위하여 여러가지 정보를 알고 있어야 한다.
실행에 필요한 정보들을 형상화하고 구분하기 위해 자바스크립트 엔진은 실행 컨텍스트를 물리적인 객체의 형태로 관리한다.