클로저(Closure)
- 함수를 지칭하면서, 함수가 생성됐을때의 렉시컬 환경의 조합
- 자신이 선언됐을때의 환경을 기억한다
- 즉 함수안에 내부함수가 외부함수의 변수를 사용했을때 그 환경을 기억하고 있는것
// 이해를 위해 코드로 확인해보기
function outerFunc() {
let name = 'hr';
return function closureFunc(type) {
return name = `${name}${type}`;
}
}
let tistory = outerFunc();
console.log(tistory('-devlog')); // hr-devlog
- outFunc()는 closureFunc를 return함으로써 소명을 다하고 종료됐지만 당시에 선언되었던 name 변수를 closureFunc로 접근가능 이를 클로저의 특징으로 볼 수 있다
- closureFunc가 선언될때 렉시컬 스코프에 의해 상위 스코프 outerFunc 를 참조
'Frontend' 카테고리의 다른 글
[React] Gridsify , Data-Grid-Generator (0) | 2025.02.18 |
---|---|
[React] 하이브리드 웹앱 웹뷰에서 Swift,Kotlin과 통신하기 (0) | 2025.02.17 |
[React] Validate 함수 만들기 (1) | 2024.12.03 |
[React] Axios paramsSerializer (0) | 2024.11.26 |
[NextJS] Module-Federation 4 (0) | 2024.05.13 |