개요뭔가 엔진 하면 하드웨어적인 느낌이 든다. 하지만, 결론부터 이야기하면 자바스크립트 엔진도 하나의 (거대한) 함수다.함수?프로그램을 만드는 개발자가 하는 일은 변수를 선언하고, 여러가지 모듈(함수)를 만들어 하나의 어플리케이션으로 합치는 과정이다. 모듈화를 통해 얻는 이점 중 두 가지는 변수 충돌을 막는다. 지역 변수를 사용해 함수가 실행될 때만 메모리를 사용한다.함수는 본인의 실행 문맥을 가진다.우리가 익숙한 함수, call stack 그리고 변수를 먼저 살펴보자. 함수가 실행되면 call stack에 쌓이고 return시 pop 된다. 더불어 함수가 실행되면 실행 문맥(Execution context)이 생긴다.개발을 하다보면 Context, 혹은 실행 문맥이라는 단어를 많이 접하게 된다. 실행 컨텍스트는 scope, hoisting, this, function, closure 등 Javascript의 동작원리를 설명하는데 핵심이 되는 개념이다. 우선 정의를 살펴보면 다...