TypeScript

[3일차] DO IT 타입 스크립트 프로그래밍/ p260 ~ p292/ 제네릭

TWICE&GFRIEND 2021. 4. 12. 14:24

NOTE

제네릭

* 컴파일시 타입 안정성을 보장

* 캐스팅 관련 코드 제거

function add<T>(a: T, b: T) { 
   return Num(a) + Num(b); 
} 

let a = 3; 
let b = 4; 

let result = add<num>(a, b); 
console.log(result);

<T> 가 타입 매개변수 라고 함 T 대신에 다른 문자 사용해도 상관 없다

타입 상속을 이용한 방법

function add<T extends number>(a: T, b: T) { 
   return a + b; 
}

오버 로딩을 이용한 방법

function add<T>(a: T, b: T) T; 
function add<T>(a: k, b: k) { 
    return a + b; 
}

​

<최종타입1 extends 타입1, 최종타입2 extends 타입2>(a: 최종타입1, b: 최종타입2, ...) { }