실행 컨텍스트(Execution Context)

ohmin kwon·2021년 2월 16일
0

이 글은 https://poiemaweb.com/js-execution-context 를 토대로 공부한 내용을 정리한 것입니다.

이전에 var, let, const를 자세히 살펴보면서 호이스팅이란 개념 또한 알아봤는데, 그 과정에서 실행 컨텍스트라는 게 등장했다.

  • 변수 생성 과정의 선언 단계에서 변수를 실행 컨텍스트의 변수 객체(Variable Object)에 등록한다.

이 글에서는 실행 컨텍스트에 대한 것을 자세히 정리해볼 생각이다.

실행 컨텍스트? 그게 뭔데?

  • 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리
  • 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념
  • 실행 컨텍스트는 실행 가능한 코드가 실행되기 위해 필요한 환경

이렇게만 보면 대충~ 알 수 있을 뿐 설명하라고 누가 말하면 명확하게 할 수 없을 것 같다...

개념 자체를 조금만 더 정리해보면.

  • 자바스크립트 엔진은 코드를 실행하기 위하여 여러가지 정보를 알고 있어야 한다.

    • 변수 : 전역변수, 지역변수, 매개변수, 객체 프로퍼티
    • 함수 선언
    • 변수의 스코프(유효범위)
    • this
  • 실행에 필요한 정보들을 형상화하고 구분하기 위해 자바스크립트 엔진은 실행 컨텍스트를 물리적인 객체의 형태로 관리한다.

profile
My simple note

0개의 댓글