[23장] 실행 컨텍스트

Sheryl Yun·2024년 2월 22일
0
post-thumbnail

역할

코드를 실행하는 데 필요한 환경을 제공하고 스코프, 식별자, 코드 실행 순서를 관리하는 객체

자바스크립트 코드 실행 과정

자바스크립트 엔진은 코드를 평가한 뒤 실행하는데, 이 과정은 크게 전역 스코프와 함수 스코프 기준으로 나뉜다.

코드 실행이 시작되면,

  • 전역 평가 과정
    • 전역 실행 컨텍스트를 생성하고
    • 전역 스코프의 변수와 함수 선언문만 먼저 실행하여 전역 실행 컨텍스트에 식별자 키로 등록 (호이스팅)
  • 전역 실행 과정
    • 선언문이 아닌 코드를 순차적으로 실행하여 이 과정에서 할당되어 있는 값을 식별자 키의 값으로 등록
    • 도중에 함수 호출문이 있으면 제어권을 함수 내부로 옮김
  • 함수 평가 과정
    • 함수 실행 컨텍스트 생성
    • 함수의 매개변수와 지역 변수 선언문을 먼저 실행하여 함수 실행 컨텍스트에 식별자 키로 등록
  • 함수 실행 과정
    • 선언문을 제외한 코드를 실행, 이때 값 참조를 위해 상위 스코프로 거슬러 올라가는 스코프 체인 발생
    • 검색된 값을 식별자 키의 값으로 등록
  • 특정 함수 실행이 끝나면 함수 실행 컨텍스트가 실행 컨텍스트 스택(콜 스택)에서 pop(제거)되고 코드 제어권이 다시 전역으로 이동
  • 위 과정을 반복하여 모든 코드의 실행이 끝나면 전역 실행 컨텍스트가 마지막으로 콜 스택에서 제거되면서 전체 코드 실행 종료
profile
데이터 분석가 준비 중입니다 (티스토리에 기록: https://cherylog.tistory.com/)

0개의 댓글