호이스팅

sylvia·2022년 10월 24일
0

정의: 실행 당시 변수와 함수를 최상단으로 끌어 올리는 것(인지하는 것)

var, let, const

1) var
동일한 이름으로 두번 선언되어도 이상 없다, 선언 및 초기화가 동시에
선언되는 줄 이전에 사용되어도 이상 없음
선언은되나 할당은 되지 않아 undefined 된다
함수스코프

2) let
TDZ(tempral dead zone)의 영향을 받는다, 할당을 받기 전 사용이 안됨
블록스코프 ( 함수, if, for, while )

3) const (상수 역할)
선언, 초기화, 할당 모두

요즘은 let, const -> 예측가능하고 에러를 줄이기 위함

*변수생성 과정
1. 선언단계 2. 초기화단계 3. 할당단계

호이스팅 단위는 스코프 범위를 기준으로 적용된다

함수도 마찬가지다
함수 선언보다 호출을 먼저한다해도 정상적으로 작동한다

https://hanamon.kr/javascript-%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85%EC%9D%B4%EB%9E%80-hoisting/

https://www.youtube.com/watch?v=ocGc-AmWSnQ

0개의 댓글