JavaScript를 사용할 때 변수 선언시 주로 var, let를 많이 썼었는데 JavaScript 변수로는 var, let, const 이렇게 3가지가 있다는 것을 알게 되었다. 각각의 차이점은 무엇일까? 차이점에 대해 알아보기에 앞서, 호이스팅(Hoisting)이란 것에 대해 알아둘 필요가 있다. 호이스팅(Hoisting) 변수는 선언 > 초기화 > 할당 3단계에 걸쳐 생성되는데, 호이스트(Hoist)란 변수의 정의가 범위에 따라 선언/초기화/할당이 분리되는 것을 의미한다. 변수를 생성할 때 먼저, Scope에 변수가 등록된 후 선언을 통해 변수를 위한 공간이 확보된다. 그리고 변수를 undefined로 초기화 한다. 그런 다음 할당문에 도달하여 값이 할당 되었을 때 값이 정상적으로 출력되게 된다...