[javascript] 자바스크립트 클로저와 익명 함수

자바스크립트에서 클로저와 익명 함수는 코드를 작성할 때 매우 유용한 기능입니다. 클로저와 익명 함수를 사용하여 코드의 모듈성을 높이고 변수를 보호할 수 있습니다.

클로저(Closures)

클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합입니다. 이는 함수가 선언될 때의 환경에서 선언된 변수에 대한 접근을 가능하게 합니다.

예를 들어, 아래의 코드에서 outerFunction은 내부 함수 innerFunction을 반환합니다. innerFunctionouterFunction 내에서 선언된 변수인 counter에 접근할 수 있습니다.

function outerFunction() {
  let counter = 0;
  function innerFunction() {
    counter++;
    console.log(counter);
  }
  return innerFunction;
}

const newFunction = outerFunction();
newFunction(); // 1
newFunction(); // 2

이러한 특성을 이용하여 private 변수나 메서드를 구현할 수 있으며, 모듈 방식의 코드 작성에 도움이 됩니다.

익명 함수(Anonymous Functions)

익명 함수는 함수 표현식으로 정의되며, 함수 이름이 없습니다. 주로 콜백 함수로 사용되거나, 즉시 실행 함수(IIFE, Immediately Invoked Function Expression)로 활용됩니다.

// 콜백 함수로 사용
document.addEventListener('click', function() {
  console.log('Click event occurred');
});

// IIFE로 사용
(function() {
  // 코드 작성
})();

익명 함수는 전역 스코프 오염을 방지하고 코드를 구조화하는 데 유용합니다. 또한, 함수가 한 번만 실행될 필요가 있을 때 유용하게 활용됩니다.

클로저와 익명 함수는 자바스크립트에서 강력한 기능을 제공하며, 코드의 유지보수성과 가독성을 향상시키는 데 도움이 됩니다.

계속해서 자바스크립트를 학습하고, 클로저와 익명 함수를 다양한 상황에 적용해보십시오.

References