JS는 인터프리터 언어라고 한다. 프로그래밍을 할 떄 우리 사람이 작성한 코드는 컴퓨터가 읽을 수 있는 언어로 번역 해줘야 실행이 가능하다.
이때 "사람이 작성한 코드(고급어) ⇨ 컴퓨터의 언어(저급어)" 로 번역기 역할을 하는 것을 컴파일러, 인터프리터 라고 한다. 컴파일러는 전체 코드를 다 읽고 번역한 다음 실행하는 것이고, 인터프리터는 코드를 실행할 때 코드 상단부터 아래로 한 줄 씩 , 바로바로 번역되는 것이 특징이다.
참고링크
MDN에서는 호이스팅을 "변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 것" 이라 말한다.
JS는 코드 실행 전 실행 가능한 코드를 확인하기 위해 코드 전체를 한번 수-욱 훑어본다.(Parser)
이때 모든 선언(var, let, const, function, class)를 스코프에 등록해 둔다.