자바스크립트의 실행 컨텍스트


실행 컨텍스트(Execution Context)

실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. 실행 컨텍스트를 이해하지 못하면 코드 해석과 디버깅이 어려울 수 있다.

ECMAScript 스펙에 따르면 실행 컨텍스트를 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이라고 정의한다. 쉽게 말해, 실행 컨텍스트는 실행 가능한 코드가 실행되기 위해 필요한 환경이다.

실행 가능한 코드는 아래와 같다.

  • 전역 코드 : 전역 영역에 존재하는 코드
  • Eval 코드 : eval 함수로 실행되는 코드
  • 함수 코드 : 함수 내에 존재하는 코드

일반적으로 실행 가능한 코드는 전역 코드와 함수 내 코드이다.

자바스크립트 엔진은 코드를 실행하기 위해서 실행에 필요한 정보들이 있어야한다. 그 정도들은 아래와 같다.

  • 변수 : 전역변수, 지역변수, 매개변수, 객체의 프로퍼티
  • 함수 선언
  • 변수의 유효범위(Scope)
  • this


실행 컨텍스트 구성

실행 컨텍스트는 다음과 같은 것들을 이용하면 call stack에 쌓이게 된다.

results matching ""

    No results matching ""