​ ​

var let const

    호이스팅 (Hoisting)

    1. 호이스팅이란 호이스팅은 자바스크립트 고유의 특징으로, 식별자를 선언하는 과정에서 발생하는 현상이다. 선언문이 전체 소스코드의 중간에 있더라도 어디에 있든 상관없이, 선두로 끌어 올려진 것처럼 동작하는 것을 호이스팅이라고 말한다. 자바스크립트 엔진은 소스코드를 한줄씩 순차적으로 실행하기에 앞서 평가 과정을 거친다. 다시말해서 JS 소스코드를 parsing할 때 평가단계(런타임 이전)와 실행단계(런타임)로 나눠서 볼수 있는데, 소스 코드의 평가 과정에서는 JS 엔진은 변수 선언을 포함한 모든 선언문을 찾아내어 먼저 실행한다. 그 후, 평가과정이 끝나고 실행단계에서 소스코드를 상위부터 순차적으로 실행한다. 이때문에 변수 선언보다 그 변수의 참조 코드가 앞서 상위에 있더라도 위치에 상관없이 어디서든지 변수..