본문 바로가기
Programming/Frontend

[typescript] 함수 정의 종류 및 장단점

by BitSense 2025. 4. 12.

TypeScript에서 함수를 정의하는 두 가지 주요 방식의 장단점을 설명해드리겠습니다:

function 키워드 사용:

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

장점:

호이스팅(hoisting)이 되어 함수를 선언 전에도 호출 가능
this 바인딩이 동적으로 이루어짐 (메서드로 사용할 때 유용)
코드가 더 명시적이고 읽기 쉬움
재귀 함수 작성이 더 자연스러움
제네릭 타입 사용이 더 직관적

 

const 화살표 함수:

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

장점:

this가 렉시컬 스코프로 바인딩됨 (콜백 함수에서 유용)
더 간결한 문법 (특히 한 줄 함수의 경우)
변수 재할당 방지
클로저(closure)를 더 명확하게 표현
React 컴포넌트나 콜백에서 더 자연스러운 사용

 

일반적인 사용 권장사항:

다음의 경우 function 키워드 사용:

클래스의 메서드
독립적인 유틸리티 함수
재귀 함수
제네릭 함수
this 컨텍스트가 중요한 경우

다음의 경우 화살표 함수 사용:

콜백 함수
이벤트 핸들러
React 컴포넌트의 메서드
간단한 한 줄 함수
부모 스코프의 this를 유지해야 하는 경우

 

결론적으로, 두 방식 모두 각자의 용도가 있으며 상황에 따라 적절한 방식을 선택하는 것이 좋습니다. 특히 프레임워크나 라이브러리를 사용할 때는 해당 커뮤니티의 컨벤션을 따르는 것이 좋습니다.

반응형