
실행 컨텍스트, execution context는 JS 동작 원리를 담고 있는 핵심 개념이다. 이를 바르게 이해해야 스코프를 기반으로 식별자와 바인딩된 값을 관리하는 방식, 호이스팅의 발생 이유, 클로저의 동작 방식, 그리고 태스크 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식을 이해할 수 있다.1. 소스코드 타입4가지 타입의 소스코드가 존재하며, 각각의 실행 컨텍스트를 생성한다.2. 소스코드의 평가와 실행모든 소스코드는 실행에 앞서 평가를 거친다.평가 과정에서는 실행 컨텍스트를 생성하고 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 키로 실행 컨텍스트가 관리하는 스코프(렉시컬 환경의 환경 레코드)에 등록한다.평가 과정이 끝나면 선언문을 제외한 소스코드가 순차적으로 실행된다. 즉, 런..