-
클로져란? / 호이스팅과 TDZTopic/JavaScript 2022. 5. 20. 09:35반응형
클로져란?
클로져란 함수 내부에 선언되는 함수를 뜻한다.
클로져는 은닉화, 캡슐화의 2가지 특징을 가진다.
외부함수가 소멸한 후에도 변수를 기억하며 일반함수는 실행 후 전역변수 초기화가 되지만, 클로져는 선언 시 환경을 기억한다.
메모리에 객체들이 남아있어 클로져를 남발하게 되면 오버플로우 발생가능성을 높인다.
호이스팅과 Temporal Dead Zone
호이스팅은 변수나 함수의 선언이 끌어올려지는 것을 뜻한다.
var (선언 & 초기화) -> 할당 / let 선언 -> 초기화 -> 할당 / const (선언 & 초기화 & 할당)
let, const는 초기화되기 전까지 TDZ에서 대기(선언단계와 초기화단계 사이에 TDZ!)
let, const도 호이스팅된다!
호이스팅 Yes (되지만) 참조오류 Yes -> let, const
호이스팅 Yes (되지만) 참조오류 No -> var, 함수 선언식, import
반응형'Topic > JavaScript' 카테고리의 다른 글
객체 지향 프로그래밍(Object-Oriented Programming, OOP) (0) 2022.06.08 callback, promise, async/await의 특징과 차이점 간단 정리 (0) 2022.05.21 Ajax 정리 (0) 2022.03.26 진법 변환(feat. 프로그래머스) (0) 2022.03.07 padEnd (문자열 채우기) (0) 2022.03.01