[JS] 실행 컨텍스트

강인호·2022년 11월 15일
0

개인저장

목록 보기
60/87

실행 컨텍스트

코드를 실행할 때 필요한 환경정보들을 모아놓은 것

컨텍스트가 활성화되는 시점에

  • 호이스팅 발생

  • 외부 환경 정보 구성

  • this값 설정

실행과 동시에 전역 컨텍스트가 수집되고 그 다음 순차적으로 함수가 호출되면 그 함수의 정보를 수집한 후

실행 컨텍스트를 생성하고 모든 작업이 끝났을때 전역 컨텍스트가 종료된다.

Variable Environment

최초 실행시의 스냅샷을 유지한다.

Lexical Environment

Lexical Environment은 environmentRecord와 outerEnvironmentReference로 구성되어 있다.

environmentRecord - 호이스팅에 관여

outerEnvironmentReference - 스코프와 스코프체인에 관여

내가 예전에 정리했던 콜스택 관련 글

이벤트 루프 관련 공부할 때 나왔던 개념인데 자바스크립트는 싱글 콜스택 언어므로 한번에 하나의 함수만 처리할 수 있다.

함수 내부에 함수가 호출되면 이전에 호출되었던 콜스택 위에 쌓이고를 반복한다.

전역 컨텍스트는 js의 실행과 동시에 콜스택으로 보자면 맨 아래 포지션에 있는 그런 정보(실제 콜스택은 아님)

정리해보자면 자바스크립트가 런타임에 들어가기전 호이스팅이 발생하고 전역 컨텍스트가 수집된다.

런타임 도중 함수의 호출에 해당 함수의 실행 컨텍스트가 생성되고 그 함수가 끝나면 순차적으로

나머지 코드를 이어서 실행한다. 모든 작업이 끝나면 전역 컨텍스트가 종료된다.

0개의 댓글