자바스크립트의 실행컨텍스트
: 자바스크립트가 실행되고 있는 정의한 것
여기서 환경이란 this, 변수, 상수, 함수, 객체 등 코드 실행에 필요한 기반
스코프: 구역 ⇒ 실행 컨텍스트로 구현하고자 하는 최종 목표
(변수,상수와 같은 환경들에 영역을 정의하고 구분짓는다)
스코프 체인 : 참조하려고 하는 값이 해당 컨텍스트에 존재하지 않으면 바로 상위의 스크프의 컨텍스트에서 값을 참조
실행컨텍스트의 종류
- Global Execution Context (전역 실행 컨텍스트)
: 처음으로 자바스크립트 코드가 실행될때 생성되는 컨텍스트
이 컨텍스트에서는 전역으로 관리되는 값을 관리
- Function Execution Context (함수 실행 컨텍스트)
: 각 함수가 실행 (선언X, 실행O)될 때마다 생성되는 컨텍스트
- 그 외 (Eval Execution, Module Execution)
콜스택
큐: FIFO
스택: LIFO의 특성을 가진 자료구조
흐름
- 비어있는 컨텍스트
- 전역 컨텍스트 생성, 전역 스코프에 변수,함수가 평가
- 다른 함수가 실행되면서 함수 컨텍스트 생성 (이때 함수 컨텍스트 평가)