profile
데이터 우주를 헤맵니다. 응답하라 데이터

JAVASCRIPT 호이스팅, 스코프

호이스팅 Hoisting 코드 실행전 변수, 함수, 클래스, 선언문을 상단으로 끌어올리는것 * 변수와 클래스는 선언만 호이스팅이 되고 초기화는 안됨 * 호이스팅은 스코프 단위로 이루어진다. 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것처럼 행동한다. let은 var와 다르게 에러가 난다. 호이스팅이 이루어는 지지만 TMZ(Temporal Dead Zone)라는 것에 let, const는 영향을 받는다. 할당하기 전에 사용하지 못하게 하는것이다. var는 호이스팅이 발생하면 선언과 초기화가 동시에 이루어져 실행 시점의 스코프 최상단에서 해당 변수에 대한 메모리가 살아잇어 선엄부 위치에 상관없이 할당이 가능하다. let, const는 호이스팅이 발생하면, 선언만 이루어지고 실행 시점에서 실질적인 선언부를 만날 때까지 초기화는 이루어지지 않는다. 그래서 해당 변수의 메모라가 없으니 선언부 상단에서 참조 할당이 불가능하다. var

2023년 6월 7일
·
0개의 댓글
·