[Javascript] 익명 함수(Anonymous Function)란?

이지연·2025년 5월 27일

웹 CS (web CS)

목록 보기
8/16
post-thumbnail

익명 함수(Anonymous Function)란?

익명 함수란 이름이 없는 함수를 의미함. 주로 일회성 작업이나 간단한 처리를 위해 사용되며, 변수에 할당하거나 다른 함수의 인자로 전달되어 사용되는 경우가 많음.


예시로 이해하는 익명 함수

✅ 일반 익명 함수

const add = function(a: number, b: number) {
  return a + b;
};

이 경우 function(a, b)는 이름이 없는 익명 함수이고, add라는 변수에 할당되어 사용됨.

✅ 화살표 함수도 익명 함수임

const multiply = (a: number, b: number) => a * b;

화살표 함수 역시 함수 자체에 이름이 없기 때문에 익명 함수에 해당함.


기명 함수(Named Function)와의 차이

기명 함수는 함수 자체에 이름이 명시되어 있음.

function subtract(a: number, b: number) {
  return a - b;
}

이 경우 함수의 이름이 subtract로 명확히 정의되어 있어 디버깅이나 재귀 호출 등에서 유리함.


익명 함수의 특징 정리

항목내용
함수 이름없음
디버깅스택 트레이스에 이름이 없으면 추적이 어려울 수 있음
재사용성낮음 (보통 한 번만 사용되는 경우)
콜백 사용이벤트 핸들러, map, filter 등의 콜백 함수로 자주 사용됨
자기 자신 호출내부에서 자기 자신을 호출할 수 없음 (재귀 불가)

언제 익명 함수를 쓰면 좋을까?

  • 코드가 짧고 단순한 로직인 경우
  • 한 번만 사용할 함수인 경우
  • 다른 함수의 인자로 전달할 때

예:

[1, 2, 3].map(function(n) { return n * 2; });

혹은

button.addEventListener('click', () => console.log('클릭됨'));

언제 기명 함수가 더 좋을까?

  • 재귀 함수가 필요한 경우
  • 디버깅을 쉽게 하고 싶은 경우
  • 복잡한 로직으로 나눠서 작성할 필요가 있을 때
function factorial(n: number): number {
  if (n <= 1) return 1;
  return n * factorial(n - 1);
}

결론(마치며)

익명 함수는 간단한 로직에 적합하며, 코드가 짧을수록 간결함을 줄 수 있음. 반면 기명 함수는 가독성, 재사용성, 디버깅 측면에서 유리함. 상황에 따라 적절히 사용하는 것이 중요함.

profile
Eazy하게

1개의 댓글

comment-user-thumbnail
2025년 8월 25일

Bad function
악명 함수

힙하하~

답글 달기