🌼 Typescript Generic
1번.
const Ex = (text: string): string => {
retrun name;
}
2번.
const Ex = (text: any): any => {
retrun name;
}
1번 -> 타입을 미리 지정하여 string 타입만을 받아야 함으로 범용성이 떨어진다.
2번 -> any를 사용하면 타입을 제한할 수 없고, 어떤 타입의 데이터가 retrun되는지 알 수 없다.
이러한 문제점을 보안하기 위해 Generic
1️⃣ Generic
단일 타입이 아닌 다양한 타입에서 작동하는 컴포넌트를 작성
제네릭을 통해 여러 타입의 컴포넌트나 자신만의 타입을 사용
생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법
const Ex = <T>(text: T): T => {
retrun text;
}
<T>는 Type의 약자로 Generic을 선언할 때 T를 관용적으로 사용(타입변수)
text,retrun type은 T타입변수로 동일하게 된다.
Ex<string>("철수");
Ex<number>(10);
Ex<boolean>(false);
--------------------------------------------------------------------
1번
const Ex1 = Ex<string>("ex:) Generic");
2번
const Ex2 = Ex("ex:) Generic");
1번 => 타입 추론 되지 않을때 사용
2번 => 코드의 가동석이 좋아 흔히 사용
참조 1
참조 2