Hoisting

TEDDY·2022년 12월 21일
0

CODECAMP

목록 보기
41/53
post-thumbnail
post-custom-banner

Hoisting

: 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다.
1. js Parser가 함수 실행 전 해당 함수를 한 번 훑는다.
2. 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다.
유효범위: 함수 블록{} 안에서 유효
한마디로 함수 범위안에 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는것이며, 실제로 코드가 끌어올려지는건 아니고 js Parser가 내부적으로 끌어올려서 처리하는 것이다.(실제 메모리 변화는 없다)

호이스팅의 대상

: var 변수 선언과 함수선언문에서만 호이스팅이 일어난다.
var 변수/함수의 선언만 위로 끌어 올려지며, 할당은 끌어 올려지지 않는다.
let/const 변수 선언과 함수표현식에서는 호이스팅이 발생하지 않는다.

0개의 댓글