실행컨텍스트

이대현·2024년 2월 20일
0

Javascript

목록 보기
1/4

실행 컨텍스트는 프로그램이 실행되는 동안 변수, 함수, 객체 등의 정보를 저장하고 관리하는 데 사용되는 내부 데이터 구조입니다. 실행 컨텍스트는 JavaScript와 같은 스크립팅 언어에서 주로 사용되며, 코드 블록이 실행될 때 생성되고 해당 블록이 완료되면 소멸합니다.

실행 컨텍스트는 크게 세 가지 요소로 구성됩니다:

  1. 변수 객체(Variable Object): 실행 컨텍스트 내에 선언된 모든 변수, 함수 선언 및 함수의 매개변수가 저장되는 객체입니다. 변수 객체는 변수 이름과 해당 변수의 값, 함수의 코드 등을 포함합니다.
  2. 스코프 체인(Scope Chain): 실행 컨텍스트는 스코프 체인을 통해 변수와 함수에 접근합니다. 스코프 체인은 현재 실행 컨텍스트의 변수 객체와 상위 실행 컨텍스트의 변수 객체들을 연결한 체인입니다. 이를 통해 변수나 함수를 찾을 때 현재 실행 컨텍스트의 변수 객체에서부터 상위 체인으로 올라가며 검색합니다.
  3. this 값: 실행 컨텍스트 내에서 현재 객체를 참조하는 값입니다. this는 함수가 호출될 때 결정되며, 함수의 호출 방식에 따라 달라질 수 있습니다.

실행 컨텍스트는 다음과 같은 상황에서 생성됩니다:

  1. 전역 코드 실행: 스크립트 실행 시 전역 컨텍스트가 생성됩니다.
  2. 함수 호출: 함수가 호출될 때마다 해당 함수의 실행 컨텍스트가 생성됩니다.
  3. eval() 함수 실행: eval() 함수를 사용하여 문자열로 표현된 JavaScript 코드를 실행할 때 실행 컨텍스트가 생성됩니다.

각 실행 컨텍스트는 실행 순서에 따라 스택(Stack)에 쌓이고, 실행이 완료되면 스택에서 제거됩니다. 이러한 실행 컨텍스트의 생성과 제거는 코드의 실행 흐름을 관리하고 변수 및 함수의 유효 범위를 지원하는 중요한 개념입니다.

profile
Frontend Developer

0개의 댓글