'var' 를 사용하지 말자! ES6부터 let과 const가 등장한 이유는 무엇일까? ▶ 실행 원리 JavaScript 엔진은 Stack 메모리와 Heap 메모리를 사용한다. 1. 호출 스택 ( Call Stack ) 스택은 LIFO이다. 마지막에 PUSH된게 먼저 POP된다. 이런 구조는 함수 호출 구조와 같다. Js파일이 호출되면 foo()가 호출되고 그다음 foo1() 함수가 호출된다. 그리고 foo1() 함수가 종료되고 foo()가 종료된 뒤 js파일이 종료된다. 그러므로 Stack 메모리에 PUSH와 POP이 되는 객체는 함수의 정보를 담은 객체로 이를, 실행컨텍스트(Execution Context; EC)라 부른다. 실행컨텍스트는 스택에 쌓이는 프레임으로 함수단위로 생성된다. 2. 호이스팅(..