자바스크립트의 실행컨텍스트 : 자바스크립트가 실행되고 있는 정의한 것 여기서 환경이란 this, 변수, 상수, 함수, 객체 등 코드 실행에 필요한 기반

스코프: 구역 ⇒ 실행 컨텍스트로 구현하고자 하는 최종 목표 (변수,상수와 같은 환경들에 영역을 정의하고 구분짓는다)

스코프 체인 : 참조하려고 하는 값이 해당 컨텍스트에 존재하지 않으면 바로 상위의 스크프의 컨텍스트에서 값을 참조

실행컨텍스트의 종류

  1. Global Execution Context (전역 실행 컨텍스트) : 처음으로 자바스크립트 코드가 실행될때 생성되는 컨텍스트 이 컨텍스트에서는 전역으로 관리되는 값을 관리
  2. Function Execution Context (함수 실행 컨텍스트) : 각 함수가 실행 (선언X, 실행O)될 때마다 생성되는 컨텍스트
  3. 그 외 (Eval Execution, Module Execution)

콜스택

큐: FIFO

스택: LIFO의 특성을 가진 자료구조

흐름

  1. 비어있는 컨텍스트
  2. 전역 컨텍스트 생성, 전역 스코프에 변수,함수가 평가
  3. 다른 함수가 실행되면서 함수 컨텍스트 생성 (이때 함수 컨텍스트 평가)