실행 컨텍스트

규갓 God Gyu·2024년 11월 13일

면접질문

목록 보기
7/142

실행 컨텍스트는 자바스크립트에서 코드가 실행되는 환경
js 엔진이 코드를 실행할 때, 그 코드가 실행될 때의 환경을 정의하고 관리하기 위해 존재하는 것

전역 실행 컨텍스트
자바스크립트가 처음 실행될 때 생성되는 컨텍스트
프로그램이 종료될 때까지 유지되며, 전역에 선언된 변수나 함수 모두 포함
전역 실행 컨텍스트에서 선언된 함수와 변수는 프로그램 내 어디서든 접근 가능
기본적으로 JS는 싱글 스레드여서 전역 실행 컨텍스트는 1개만 존재

함수 실행 컨텍스트
함수가 호출될 때마다 생성 되는 컨텍스트
각 함수는 자신만의 실행 컨텍스트를 가지며, 이 컨텍스트 내에서 선언된 변수와 함수는 해당 함수 내에서만 유효
함수가 종료되면 그 실행 컨텍스트도 함께 사라짐

실행 컨텍스트의 구성 요소
변수 객체, 스코프 체인, this

  • 변수객체
    실행 컨텍스트 내에서 사용되는 변수와 함수 선언을 저장하는 공간
    전역 컨텍스트에서는 전역 객체가 변수 객체의 역할
    함수 컨텍스트에서는 활성화 객체가 변수와 매개변수를 관리

  • 스코프 체인
    현재 실행중인 컨텍스트와 외부 렉시컬 환경의 연결을 유지
    변수를 참조할 때 현재 컨텍스트에서 찾지 못하면 외부 환경으로 범위를 넓혀가며 변수를 찾음

  • this
    실행 컨텍스트에 따라 참조하는 객체가 달라짐
    전역 컨텍스트 - this가 전역 객체 가리킴
    함수 컨텍스트 - 함수 호출 방법에 따라 달라짐

profile
웹 개발자 되고 시포용

0개의 댓글