우선 바로 간단한 예시를 보자
예)
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 |