[javascript] 자바스크립트 클로저와 익명 함수
자바스크립트에서 클로저와 익명 함수는 코드를 작성할 때 매우 유용한 기능입니다. 클로저와 익명 함수를 사용하여 코드의 모듈성을 높이고 변수를 보호할 수 있습니다.
클로저(Closures)
클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합입니다. 이는 함수가 선언될 때의 환경에서 선언된 변수에 대한 접근을 가능하게 합니다.
예를 들어, 아래의 코드에서 outerFunction
은 내부 함수 innerFunction
을 반환합니다. innerFunction
은 outerFunction
내에서 선언된 변수인 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() {
// 코드 작성
})();
익명 함수는 전역 스코프 오염을 방지하고 코드를 구조화하는 데 유용합니다. 또한, 함수가 한 번만 실행될 필요가 있을 때 유용하게 활용됩니다.
클로저와 익명 함수는 자바스크립트에서 강력한 기능을 제공하며, 코드의 유지보수성과 가독성을 향상시키는 데 도움이 됩니다.
계속해서 자바스크립트를 학습하고, 클로저와 익명 함수를 다양한 상황에 적용해보십시오.