JavaScript는 다른 프로그래밍 언어들보다 조금 더 유연한 실행 영역(Execution Context)과 Scope를 갖고 있다. Execution Context(실행 영역) 주로 Context라고 불리는 Execution Context는 JavaScript에서 실행 가능 코드(Executable Code)인 Global code(스크립트 실행), Function code, Eval code가 호출될 때마다 그에 해당하는 Execution Context가 하나씩 생성된다. 각각의 context들은 Global Context부터 호출된 순서대로 Call Stack에 쌓이게 되며, Stack 영역의 LIFO 규칙에 따라 현재 활성화된 Context(Active Context)가 Stack의 최상위에 위..