[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에 접근할 수 있는데, 이는 클로저가 동작하기 때문입니다.

관련 자료: