질문 18 · 실전 면접 답변
실행 컨텍스트와 렉시컬 환경은 무엇을 설명하나요?
이렇게 답해 보세요 (핵심 답변)
실행 컨텍스트는 현재 실행 중인 코드의 스코프, this, 실행 순서 등을 관리하기 위해 ECMAScript 명세가 정의한 실행 단위입니다. 함수가 호출될 때마다 새로운 실행 컨텍스트가 만들어져 호출 스택(Call Stack)에 쌓이고, 실행이 끝나면 스택에서 빠져나갑니다. 그 내부의 렉시컬 환경은 현재 스코프의 변수 바인딩을 기록하는 환경 레코드와 바깥 스코프를 가리키는 참조로 구성되어 식별자 탐색과 클로저의 동작 원리를 설명해 줍니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 호출 스택은 지금 어떤 함수가 실행 중이고 함수가 끝났을 때 어디로 돌아가야 하는지를 순서대로 관리합니다.
- 렉시컬 환경의 바깥 참조는 함수가 생성된 위치를 기준으로 연결되므로 렉시컬 스코프 규칙을 그대로 반영합니다.
면접에서 자주 하는 실수
JavaScript의 실행 컨텍스트를 운영체제의 스레드 문맥 전환(Context Switching)이나 물리적 메모리 구조 자체와 동일시하지 않아야 합니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 18번을 바탕으로 질문과 답변을 새로 정리했습니다.