728x90
function outerFunc(init_count){
let count = init_count ?? 0;
return function(add){
count += add ?? 1;
return count;
};
};
let counter = outerFunc(1); // 출력값:1
counter(); // 2
counter(2); // 4
outerFunc를 호출한 반환 함수가 counter 변수에 들어감
counter가 함수가 되어 호출할때 outerFunc 안의 count 변수에 접근하여 값을 가져옴
클로저
함수가 선언될 당시의 렉시컬 환경(Lexical Environment)을 기억해, 함수 실행이 끝난 뒤에도
그 내부에서 선언된 변수들에 계속 접근할 수 있는 함수
※ 렉시컬 환경(Lexical Environment) 코드가 작성된 시점에서의 변수와 함수 선언을 포함하는 환경
728x90
'Programming > Javascript' 카테고리의 다른 글
| google 광고 제거 (0) | 2025.04.11 |
|---|---|
| Javascript 프로미스 promise 비동기 async await JS (0) | 2025.03.18 |
| 엔터와 공백문자를 +와 '로 이은 문자 변환기 (0) | 2023.07.17 |
| 정규 표현식 메소드 및 예시 (0) | 2022.10.19 |
| 정규 표현식 (0) | 2022.06.09 |