728x90
SMALL
temporal dead zone
-
클로져란? / 호이스팅과 TDZTopic/JavaScript 2022. 5. 20. 09:35
클로져란? 클로져란 함수 내부에 선언되는 함수를 뜻한다. 클로져는 은닉화, 캡슐화의 2가지 특징을 가진다. 외부함수가 소멸한 후에도 변수를 기억하며 일반함수는 실행 후 전역변수 초기화가 되지만, 클로져는 선언 시 환경을 기억한다. 메모리에 객체들이 남아있어 클로져를 남발하게 되면 오버플로우 발생가능성을 높인다. 호이스팅과 Temporal Dead Zone 호이스팅은 변수나 함수의 선언이 끌어올려지는 것을 뜻한다. var (선언 & 초기화) -> 할당 / let 선언 -> 초기화 -> 할당 / const (선언 & 초기화 & 할당) let, const는 초기화되기 전까지 TDZ에서 대기(선언단계와 초기화단계 사이에 TDZ!) let, const도 호이스팅된다! 호이스팅 Yes (되지만) 참조오류 Yes -..