[typescript] 화살표 함수와 익명 함수의 자체 호출 여부 비교

JavaScript 및 TypeScript에서 함수를 정의하는 다양한 방법 중 화살표 함수와 익명 함수는 자주 사용됩니다. 이 두 가지 함수 유형은 서로 다른 방식으로 호출 동작이 처리됩니다. 이번 글에서는 화살표 함수와 익명 함수의 자체 호출 여부를 비교해 보겠습니다.

화살표 함수 (Arrow Function)

화살표 함수는 다음과 같은 형태로 정의됩니다.

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

이때 화살표 함수는 자체 호출이 불가능합니다. 즉, 아래와 같은 코드는 에러를 발생시킵니다.

(add)(3, 4);

익명 함수 (Anonymous Function)

익명 함수는 다음과 같은 형태로 정의됩니다.

const multiply = function(a: number, b: number): number {
  return a * b;
};

익명 함수는 변수에 할당되거나 즉시 호출하는 방식으로 사용될 수 있습니다.

multiply(3, 4); // 함수 호출

(function(x) { return x * 2; })(5); // 즉시 호출

결론

화살표 함수는 자체 호출이 불가능하며, 익명 함수는 변수에 할당하거나 즉시 호출하는 방식으로 사용됩니다. 이러한 동작 차이를 이해하고 적절히 활용함으로써 JavaScript 및 TypeScript에서 함수를 보다 효과적으로 활용할 수 있습니다.

참고 자료: MDN web docs