[javascript] 클로저란 무엇인가요?
아래는 클로저의 간단한 예제입니다.
function outerFunction() {
let outerVariable = "I am outer";
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}
let innerFunc = outerFunction();
innerFunc(); // "I am outer" 출력
위 예제에서 outerFunction 내부에 있는 innerFunction은 outerVariable에 접근할 수 있습니다. outerFunction이 실행을 완료한 후에도 innerFunc를 통해 outerVariable에 접근할 수 있는데, 이는 클로저가 동작하기 때문입니다.
관련 자료:
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Closures
- https://ko.javascript.info/closure