실행 컨텍스트
실행 컨텍스트란?
실행 컨텍스트는 자바스크립트에서 코드가 실행되는 환경을 의미한다.
자바스크립트 엔진이 코드를 실행할 때 그 코드가 실행될 때의 환경을 정의하고 관리하기 위해 존재하는 것이 실행 컨텍스트다.
실행 컨텍스트는 크게 전역 실행 컨텍스트와 함수 실행 컨텍스트로 나눌 수 있다.
-
전역 실행 컨텍스트:
자바스크립트가 처음 실행될 때 생성되는 컨텍스트이다.
전역 컨텍스트는 프로그램이 종료될 때까지 유지되며, 전역에 선언된 변수나 함수가 모두 포함된다.
전역 컨텍스트에서 선언된 변수와 함수는 프로그램 내 어디서든 접근이 가능하다. -
함수 실행 컨텍스트:
함수가 호출될 때마다 생성 되는 컨텍스트를 의미한다.
각 함수는 자신만의 실행 컨텍스트를 가지며, 이 컨텍스트 내에서 선언된 변수와 함수는 해당 함수 내에서만 유효하다.
함수가 종료되면 해당 실행 컨텍스트도 함께 사라진다.
실행 컨텍스트의 구성 요소
실행 컨텍스트는 크게 변수 객체, 스코프 체인, this라는 구성 요소로 이루어져 있다.
-
변수 객체:
실행 컨텍스트 내에서 사용되는 변수와 함수 선언을 저장하는 공간이다.
전역 컨텍스트에서는 전역 객체가 변수 객체의 역할을 하고, 함수 컨텍스트에서는 활성 객체가 변수와 매개변수를 관리한다. -
스코프 체인:
현재 실행 중인 컨텍스트와 외부 렉시컬 환경의 연결을 유지한다.
변수를 참조할 때 현재 컨텍스트에서 찾지 못하면 외부 환경으로 범위를 넓혀가며 변수를 찾는다. -
this:
this는 실행 컨텍스트에 따라 참조하는 객체가 달라진다.
전역 컨텍스트에서는 this가 전역 객체를 가리키며, 함수 컨텍스트에서는 함수 호출 방법에 따라 달라진다.
실행 컨텍스트는 이러한 구성 요소를 바탕으로 자바스크립트 코드가 실행되는 동안의 환경을 관리하고, 코드 실행 시 변수의 유효 범위나 함수 호출의 맥락을 결정 짓는다.




