실행컨텍스트

장찬우·2024년 1월 8일
post-thumbnail

실행컨텍스트란?

자바스크립트를 공부하게되면서 우리는 실행컨텍스트라는 말을 자주 보고 듣게 된다.
실행컨텍스트란 도대체 무엇일까?

실행컨텍스트란 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다.
그렇다면 실행컨텍스트에 어떠한 환경 정보들을 가지고있을까?
실행컨텍스트에는 Variable Environment, LexicalEnvironment, this binding이 있다.

Variable Environment

Variable environment는 컨텍스트 내의 식별자들의 정보와 외부환경의 정보를 가지고있다.
선언 당시의 Lexical environment의 snapshot으로 변경사항은 반영되지 않는다.
실행컨텍스트를 생성할 때 Variable environment에 정보를 먼저 담은 다음에 이를 복사해 Lexical environment에 반영을 한 뒤, 이후에 변경사항이 있으면 Lexical environment에 반영을 한다.

Lexical Environment

수시로 변화는 환경정보이다. 맨 처음에는 variable environment 와 같지만, 이후 변경사항이 생기면 실시간으로 반영된다.

This Binding

this binding은 this에 실행컨텍스트의 주체를 연결짓는것이다. 이렇게 하면 this가 무엇을 가르킬지 정해진다. this binding은 실행컨텍스트가 활성화될때 한다.

profile
프론드엔드 개발자가 되기위한 기록

0개의 댓글