본문 바로가기

Typescript

Typescript (7) Generics

우선 바로 간단한 예시를 보자

 

예)

export const hi = (arg: string) => {
return console.log("Hi", name);
};

const v1 = hi("Daniel");
const v2 = hi(1234); // 여기 argument가 string이여야하는데 number을 넣어줬기 때문에 에러가난다
 
 

이렇게 hi라는 function을 만들고 arg:string으로 만들어줌으로써 

v2의 arg는 number이기 때문에 에러가 난다 

이렇게 arg의 type이 항상 똑같이 않을 경우 generics를 쓰는데 

 

다음 generics를 쓴 예시를 보자

export const hi = <T,>(arg: T) => {
return console.log("Hi", name);
};

const v1 = hi("Daniel");
const v2 = hi(1234); // generics를 사용하여 arg의 type가 달라도 에러가 나지 않고 arg의 type의 따라 return 해준다


<T>로 generics을 쓴다고 설정해 주고 (사이에 comma는 태그로 인식하지 않게 넣어주었다)

이후 arg:T로 각 arg의 type으로 맞춰준다

이렇게 하게되면 v1, v2 둘 다 에러가 뜨지 않는 걸 볼 수 있다

 

 

'Typescript' 카테고리의 다른 글

코드 정리 (0) Import Path  (0) 2023.03.17
Typescript (6) Enums  (0) 2023.03.09
Typescript (5) Forms  (0) 2023.03.04
Typescript (4) useState  (0) 2023.03.04
Typescript (3) Optional Props  (0) 2023.03.04