개발자 Saaad
[JavaScript] Closure 본문
Closure 란?
다른 함수 내부에 정의된 함수(InnerFunction)가 있는 경우 외부 함수(OuterFunction)가 실행을 완료하고
해당 변수가 해당 함수 외부에서 더 이상 액세스 할수 없는경우에도 해당 내부 함수는 외부 함수의 변수 및 범위에
액세스 할 수 있습니다.
설명
1. newFunction을 선언하고 outerFunction('outside'); 를 할당합니다
이 과정에서 newFunction 은 innerFunction()을 리턴 받았습니다.
2. newFunction('insdie'); 를 통해 innerFunction('inside); 를 호출한 것이나 마찬가지입니다.
그런데 외부 함수에 매개변수로 받은 'outside' 를 내부함수에서 여전히 기억하고 있다가
console.log()를 통해 둘 다 출력하는 모습입니다.
outerFunction()은 1번 과정에서 종료되었지만, 여전히 내부함수 innerFunction은 외부 매개변수 'outside'를 기억하고 있습니다.
예제
1.
2.
2. 를 Closure를 이용해 해결
'학습 > kakao X goorm 풀스택12회차' 카테고리의 다른 글
[JavaScript] 함수 표현식, 선언문 (0) | 2024.12.02 |
---|---|
[JavaScript] 구조 분해 할당 (0) | 2024.12.01 |
[JavaScript] 이벤트 루프(Event Loop) (0) | 2024.11.28 |
[JavaScript] call, bind, apply (0) | 2024.11.28 |
[JavaScript] this 키워드 (0) | 2024.11.27 |