[JavaScript] - 호이스팅(Hoisting)
·
개발/JavaScript
호이스팅(Hoisting)은 개발을 해본 사람은 꼭 한번 들어봤을 개념인데,알고 있는 내용이지만 개념을 재 정립할겸, 그리고 다양한 상황에서 호이스팅이 어떻게 되는지 정리하고자 한다. 호이스팅(Hoisting)MDN 문서에 호이스팅은 이렇게 정의하고 있다인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 임포트(import)의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상설명만 보면 잘 이해가 되지 않을 것인데 일단 JavaScript의 구동 원리부터 알아볼 필요가 있다.JavaScript는 실행이 되기 전에 실행 가능한 코드를 형상화하고 구분하는 과정(컴파일)을 거치는데이때 모든 선언문 (var, let, const, function, class)을 스코프에 등록한다.그래서 코드..