[JavaScript] 호이스팅

똔의 기록·2022년 6월 11일
0

JavaScript

목록 보기
12/14
post-thumbnail

호이스팅(Hoisting)

호이스팅은 변수나 함수 선언을 함수 유효 범위(또는 함수 외부의 경우 전역 범위)의 맨 위로 이동하는 메커니즘이다!

호이스팅은 다음과 같이 3단계로 구성된 변수의 수명 주기에 영향을 준다.

선언 - 변수를 실행 컨텍스트의 변수 객체에 등록하는 단계.
초기화 - 실행 컨텍스트에 존재하는 변수 객체에 선언 단계에서 생성된 변수를 위한 메모리를 만드는 단계.
할당 - 초기화 단계에서 undefined로 초기화된 메모리에 다른 값을 할당하는 단계

코딩을 할 때 항상 이 세가지 순서를 지키는 것이 중요하다.

=> 호이스팅으로 인해 코드 실행 전 이미 변수, 함수에 대한 선언이 저장되어 있기 때문에, 선언문보다 참조 및 호출이 먼저 나와도 동작할 수 있게 된다.

profile
Keep going and level up !

0개의 댓글