[javascript] let과 const를 사용한 클로저 구현 방법

JavaScript에서 클로저(closure)는 함수와 함수가 선언된 어휘적 환경(lexical environment)의 조합으로 구성됩니다. 클로저를 사용하면 외부 스코프에 있는 변수를 내부 함수에서 사용할 수 있고, 이를 통해 흥미로운 기능을 만들 수 있습니다.

let과 const

JavaScript에서 letconst는 변수를 선언하는 데 사용되는 키워드입니다. let은 재할당이 가능한 변수를 선언할 때 사용되고, const는 재할당이 불가능한 변수를 선언할 때 사용됩니다. 클로저를 생성하는 내부 함수에서 외부 스코프의 변수에 접근할 때 letconst를 활용하여 이러한 변수들을 활용할 수 있습니다.

function createCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  }
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3

위 예시에서 createCounter 함수는 내부 함수를 반환하며, 이 내부 함수는 외부 스코프에 있는 count 변수를 사용합니다. 이와 같이 letconst를 사용하여 클로저를 구현할 수 있습니다.

결론

JavaScript에서 letconst를 사용하여 클로저를 구현할 수 있습니다. 클로저를 이해하고 활용함으로써 함수형 프로그래밍과 비동기 처리 등 다양한 상황에서 유용한 코드를 작성할 수 있습니다.

더 알아보려면 MDN web docs를 참고하세요.