선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법이다. 한번의 선언으로 다양한 타입에 '재사용'이 가능하다는 장점이 있다.
const person=(info)=>{
return info
}
person(12);
person('이름');
person('직업');
위와 같이 코드를 작성시 타입애러가 발생한다. person의 함수에 타입을 지정 하지 않아서이다. 이 경우 제네릭 타입을 사용하여 간단하게 해결이 가능하며 수정 및 추가도 쉽게 가능하다.
const person=<T>(info:T):<T>=>{
return info
}
person<number>(12); //number 인식
person<string>('이름'); // string 인식
person<string>('직업'); // string 인식
위와 같이 제네릭 함수를 사용할 수 있다. 제네릭을 사용하면 깔끔하게 코드를 줄이면서도 코드의 재활용이 가능해 매우 유용하다.
11