
실행할 코드의
환경 정보를 모아 놓은 객체
실행 컨텍스트가 활성화되는 시점에 하는 일들
- 호이스팅
- 외부 환경 정보 구성
- this 값 설정
실행 컨텍스트를 이해하기 위해서는콜 스택에 대한 이해가 반드시 필요하다.
그 전에 스택에 대해 알아보자!
스택(stack)은 바구니다. 마지막으로 들어간게 처음으로 나간다.
큐(queue)는 바닥이 뚫린 원통이다. 들어간 순서대로 나간다.

스택과큐를 구분하는 것은 쉽다.
작성한 코드를 실행 할 수 있게 해주는
환경 정보들을 모아두는 스택이다.
동일한 환경에 있는 코드를 실행할 때 콜 스택에 쌓인다.⭐ 함수의 실행 순서를
실행컨텍스트를콜스택에 쌓아놓는 방식으로 관리를 하기 때문에코드의 순서를 보장한다.
가장 위에 쌓여있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드의 환경 및 순서를 보장할 수 있어요.
함수로 구성한다.
// ---- 1번
var a = 1;
function outer() {
function inner() {
console.log(a); //undefined
var a = 3;
}
inner(); // ---- 2번
console.log(a);
}
outer(); // ---- 3번
console.log(a);

그림은 어설프지만 실행되는 순서입니다.
글로 써보자면
코드 실행 > 전역(in) > 전역(중단) + outer(in) > outer(중단) + inner(in) > inner(out) + outer(재개) > outer(out) + 전역(재개) > 전역(out) > 코드 종료
이렇게 해서 오늘은 실행 컨텍스트가 무엇인지와 역할, 구성방법, 콜 스택에 실행 컨텍스트가 구성되는 순서에 대해 알아봤다. 다음에는 실행 컨텍스트에 담기는 정보에 대해 알아볼 것 이다.
프로그래밍 기초 주차에서 공통 강의를 듣는 시간이 이제 얼마 남지 않았다. 다음주 부터는 걷기반&달리기반으로 나누어 수업을 진행한다. 걷기반은 리액트를 배우기 전 알아야 할 최소한의 지식을 배우고, 달리기반은 최소한의 지식 + 심화된 내용을 배우게 된다. 나는 달리기반을 선택했다. 물론 다음주 화요일까지 바꿀 수 있다. 하지만 달리기반에서 이악물고 버틸 것이다. 왜냐하면 어차피 해야될 것들이기 때문에 이참에 부수고 리액트를 배울 것이다. 개발자들 사이에서 도는 말이 있다. 오래 앉아 있는 자가 최후의 승리자라는 말이다. 캠프에서도 캠프를 수료하고 나서도 오래앉아 공부할 것 이다.