실행 컨텍스트(Excecution Context)
-
자바스크립트 엔진이 코드를 실행하는데, 필요한 환경을 제공하는 객체
- 환경은 코드 실행에 영향을 주는 조건 혹은 상태
-
모든 소스코드는 런타임 실행에 앞서서 준비과정(평가과정)을 거친다.
- 즉, 엔진은 소스코드 평가 -> 소스코드 실행으로 나누어져 있음
-
소스코드 평가과정에서 실행컨텍스트를 생성함.
- 여기서 정의된 변수 / 함수의 식별자를 정의하고, 스코프에 등록함
- 따라서 자바스크립트 파일이 열리는 순간 전역 컨텍스트가 콜스택에 담기게 된다.
-
이후, 함수 실행 시 실행컨텍스트가 구성됨
-
변수 환경
-
this binding
블록스코프에도 실행컨텍스트가 만들어질까?
- 실행컨텍스트 종류는 전역/함수로 나누어진다.
- 블록스코프는 단순히 중괄호를 묶었다고 해서 블록 스코프인게 아니라, 블록 내에 let 과 const 를 선언 했을 때, let const 변수가 해당 블록 안에서만 유효한 범위를 가진다는 개념이기 때문.