패스잇
프론트엔드 개발 · 심화

JavaScript의 실행 컨텍스트(Execution Context)와 스코프 체인에 대해 설명해주세요.

힌트 · Variable Object, Scope Chain, this의 결정 과정을 설명해보세요.

실행 컨텍스트렉시컬 환경변수 환경스코프 체인클로저

모범답안

면접관님, JavaScript의 실행 컨텍스트와 스코프 체인에 대해 설명드리겠습니다.

실행 컨텍스트는 JavaScript 코드가 실행되는 환경을 의미하며, 코드가 실행될 때마다 생성됩니다. 각 실행 컨텍스트는 변수 객체(Variable Object), 스코프 체인, 그리고 this 값을 가집니다.

변수 객체는 해당 컨텍스트 내에서 선언된 변수와 함수를 저장하는 공간입니다. 스코프 체인은 현재 실행 컨텍스트와 그 상위 컨텍스트들의 변수 객체를 연결한 리스트입니다. JavaScript 엔진은 변수를 찾을 때 스코프 체인을 따라 올라가면서 탐색합니다.

스코프 체인은 렉시컬 환경(Lexical Environment)을 기반으로 구성됩니다. 렉시컬 환경은 코드가 작성된 물리적인 구조를 반영하며, 클로저가 가능한 이유이기도 합니다.

this는 함수가 호출될 때 결정되며, 호출 방식에 따라 다른 값을 가질 수 있습니다. 예를 들어, 전역 스코프에서는 window 객체를, 메서드 호출 시에는 해당 객체를 가리킵니다.

이러한 실행 컨텍스트와 스코프 체인을 이해하는 것은 JavaScript 코드를 디버깅하고 최적화하는 데 매우 중요합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 JavaScript 면접 질문

← JavaScript 면접 질문 전체 보기