호이스팅 Hoisting

taehyunkim·2021년 1월 14일
0

자바스크립트

목록 보기
1/5
post-thumbnail

호이스팅(Hoisting)이란 변수의 선언과 초기화가 동시에 이루어졌을 때, 자바스크립트 인터프리터가 변수의 선언을 함수의 맨 위로 이동시키는 동작을 뜻한다.

잘 이해가 안되니 다음 예제로 이해해보자

var bar = 123; 같이 변수의 선언과 동시에 초기화를 하게되면 자바스크립트 인터프리터는 아래와 같이 동작한다.

이제 왜 콘솔이 undefined가 찍혔는지 알 것 같다.

변수를 선언하면 동시에 값에는 undefined가 담기게 된다
그리고 바로 콘솔을 찍으니 당연히 undefined가 뜰 수 밖에

자바스크립트는 이처럼 변수를 선언과 동시에 초기화를 해버리면 선언을 호이스팅 하여 함수의 시작점에 선언이 있고 이후 초기화 되는 식으로 해석을 해버린다

profile
프론트엔드 개발자

0개의 댓글