본문 바로가기

개인공부/프론트엔드

TypeScript: 제너릭

반응형

TypeScript를 통해서 반환값의 타입을 명시해 줄 수 있습니다.

반환값은 REST API이고 그값에 따라 Json이 다음과 같은 객체를 나타낸다고 생각합니다.

 

a API  {a : string, b : string}
b API {c : string, d : number}

 

일반적으로 타입스크립트는 명시해줘야 하기 때문에 다음과 같은 함수를 작성합니다.

type A = {
	a: string;
    b: string;
}

type B = {
	c: string;
    d: number;
}

function getData(url: string): A | B {
	ajax.open('GET', url, false);
    ajax.send();
    
    return JSON.parse(ajax.response);
}

cont b_API = getData(URL) : B[];

하지만 매번 이런식으로 타입을 명시해 주는것은 많은 문제가 있습니다. 이럴때 제너릭을 사용합니다. 

 

type A = {
	a: string;
    b: string;
}

type B = {
	c: string;
    d: number;
}

function getData<T>(url: string): T{
	ajax.open('GET', url, false);
    ajax.send();
    
    return JSON.parse(ajax.response);
}

cont b_API = getData<B[]>(URL);
반응형

'개인공부 > 프론트엔드' 카테고리의 다른 글

javascript: 상속 (extends)  (0) 2021.06.27
TypeScript: typeAlias vs interface  (0) 2021.06.27
클로저  (0) 2021.06.21
JavaScript push를 이용해서 렌더링하기.  (0) 2021.06.09
XML HttpRequest ajax  (0) 2021.06.06