[javascript] 익명 함수의 사용 이유
자바스크립트에서 익명 함수는 이름이 없는 함수를 의미합니다. 이러한 함수는 다양한 상황에서 유용하게 사용될 수 있습니다.
1. 콜백 함수
익명 함수는 주로 콜백 함수로 사용됩니다. 콜백 함수는 다른 함수에 매개변수로 전달되거나, 다른 함수 내에서 호출되는 함수를 말합니다. 이때 함수의 이름이 필요없는 경우 익명 함수를 사용하여 간편하게 콜백 함수를 정의할 수 있습니다.
element.addEventListener('click', function() {
// 클릭 이벤트 발생 시 실행되는 익명 함수 내용
});
2. 즉시 실행 함수
익명 함수는 즉시 실행 함수로도 활용됩니다. 즉시 실행 함수는 정의됨과 동시에 즉시 실행되는 함수로, 스코프를 유지하고 전역 스코프를 깨뜨리지 않기 때문에 유용합니다.
(function() {
// 즉시 실행되는 익명 함수 내용
})();
3. 클로저
의도적으로 변수의 스코프를 제한하여 변수를 보호하는데 익명 함수가 사용됩니다. 이는 클로저를 생성할 때 많이 사용되며, 외부 스코프의 변수를 익명 함수 내에서 참조하여 사용할 수 있습니다.
function createCounter() {
let count = 0;
return function() {
return ++count;
};
}
let counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
익명 함수는 콜백 함수, 즉시 실행 함수, 그리고 클로저를 구현할 때 유용하게 사용됩니다.
참고 자료
- MDN Web Docs, “함수 표현식과 함수 선언문” (https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Functions#function_expressions_and_function_declarations)
- JavaScript.info, “콜백함수” (https://ko.javascript.info/callbacks)
- PoiemaWeb, “클로저” (https://poiemaweb.com/js-closure)