[javascript] 클로저

자바스크립트에서 클로저는 함수가 외부 스코프에 접근할 수 있도록 하는 개념입니다.

클로저의 작동 방식

클로저를 생성하려면 함수 내부에서 다른 함수를 반환해야 합니다. 이렇게 하면 반환된 함수가 외부 스코프의 변수에 접근할 수 있습니다.

예를 들어,

function outerFunction() {
  let outerVariable = "I am from outer function";
  
  function innerFunction() {
    console.log(outerVariable);
  }
  
  return innerFunction;
}

const newFunction = outerFunction();

newFunction(); // "I am from outer function"

이 예제에서 innerFunction은 외부 스코프에 있는 outerVariable에 접근할 수 있습니다.

클로저의 활용

클로저는 콜백 함수로 사용되거나 비동기 작업에서 변수 상태를 보전할 때 유용하게 사용됩니다.

결론

클로저는 자바스크립트에서 매우 강력하고 유용한 개념으로, 함수가 외부 스코프에 접근할 수 있도록 합니다.

더 자세한 정보는 MDN web docs를 참고하세요.