[JavaScript] 실행 컨텍스트(Execution Context)를 통해 알아본 호이스팅(Hoisting) 현상의 발생 원인과 이를 통한 let과 var의 차이


[JavaScript] 실행 컨텍스트(Execution Context)를 통해 알아본 호이스팅(Hoisting) 현상의 발생 원인과 이를 통한 let과 var의 차이

흔히 자바스크립트의 "호이스팅(Hoisting)"이라고 하면 "변수나 함수의 선언 코드가 상단으로 끌어올려지는 것이다" 라고 종종 말하곤 한다. 위 사진을 보면 알 수 있겠지만, 사실 hoisting의 의미도 끌어올린다는 의미이다. 정말 "hoisting"이란 이름처럼 끌어 올려지는것일까? 끌어올려진다면 어떻게 끌어 올려지는지 한번 알아보자. 우선 호이스팅을 이해하기 위해서는 실행 컨텍스트(Execution Context)에 대해 이해해야한다. 1. 실행 컨텍스트(Execution Context) 우선 위와 같이 자바스크립트 엔진 사진이 있다. Memory Heap과 Call Stack으로 나누어져 있는데, 여기서 Call Stack이라는 곳에 실행 컨텍스트..........



원문링크 : [JavaScript] 실행 컨텍스트(Execution Context)를 통해 알아본 호이스팅(Hoisting) 현상의 발생 원인과 이를 통한 let과 var의 차이