function test(arg: any): any {
return arg;
}
any를 쓰는 것은 함수의 arg가 어떤 타입이든 받을 수 있다는 점에서 제네릭이지만, number,string,boolean 어느 타입을 넣어도 any 타입만 반환됩니다.
function test<T>(arg: T): T {
return arg;
}
T라는 타입 변수를 추가했습니다.
선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 반환 할수있습니다.
참조 : https://www.typescriptlang.org/ko/docs/handbook/2/generics.html