-
[TypeScript] Generic 써보기개발/TypeScript 2023. 1. 6. 23:03
[Generic]
- 확실한 타입을 모를 때 사용 가능
/// 파라미터 타입이 미정인 경우 예제 type SuperPrint = { <T>(arr: T[]): void } const superPrint: SuperPrint = (arr) => { arr.forEach(el => console.log(el)); } // 이하 모두 정상 작동 superPrint([1, 2, 3]); superPrint([true, false, true]); superPrint(['1', '2', '3']); superPrint(['1', true, 3]); /// 리턴 타입이 미정인 경우 예제 type SuperReturn = { <T>(arr: T[]): T } const superReturn: SuperReturn = arr = arr[0]; console.log(superReturn([1]); console.log(superReturn(['a']); /// 2개 이상의 파라미터 타입이 미정인 경우 예 type SuperReturn = { <T, M>(a: T, b: M): M } const superReturn: SuperReturn = (a, b) => b; console.log(superReturn([1], 'a'); console.log(superReturn(['a'], 1); /// 함수에 바로 제네릭 적용한 경우 예제 function superPrint<T>(a: T[]) { console.log(a[0]); } const superReturn = <T, M>(a: T, b: M): M => b;
'개발 > TypeScript' 카테고리의 다른 글
[TypeScript + React] 공통 UI 컴포넌트 interface 선언 (0) 2023.01.08 [TypeScript] 함수 선언 - Call Signature와 Overload (0) 2023.01.06 [TypeScript] 읽기 전용(readonly) 속성 지정 (0) 2023.01.06 댓글