-
[TypeScript] 함수 선언 - Call Signature와 Overload개발/TypeScript 2023. 1. 6. 19:59
[Call Signature]
- 함수의 파라미터, 리턴값을 선언
// 타입 선언. number형 파라미터를 2개 받고 number형 값을 반환한다 type Add = (a: number, b: number) => number; // 위에서 선언한 타입을 사용하는 함수 작성. call signature 덕분에 파라미터와 리턴값 타입 선언을 생략했다 const add: Add = (a, b) => a + b; // call signature 없이 함수 선언 시 const add_before = (a: number, b: number): number => a + b;
[Overload]
- 하나의 함수가 여러개의 call signature를 가질 때 발생
// 파라미터 데이터 타입이 상이한 경우 type Add = { (a: number, b: number): void; (a: number, b: string): void; } const add: Add = (a, b) => { console.log(a, b); }; add(1, 2); // 1 2 add(1, 'test'); // 1 'test' // 파라미터 개수가 상이한 경우 type Add = { (a: number, b: number): number; (a: number, b: number, c:number): number; } const add: Add = (a, b, c?) => c ? a + b + c : a + b; add(1, 2); add(1, 2, 3);
'개발 > TypeScript' 카테고리의 다른 글
[TypeScript + React] 공통 UI 컴포넌트 interface 선언 (0) 2023.01.08 [TypeScript] Generic 써보기 (0) 2023.01.06 [TypeScript] 읽기 전용(readonly) 속성 지정 (0) 2023.01.06 댓글