number[], boolean[], string[]이라고하는걸 T[]라고 할 수 있음

타입스크립트에서 제네릭타입은 함수, 인터페이스, 클래스, 타입별칭에 적용할 수 있음


꺽쇠괄호로 타입 감싸서 <T>, <T, Q>이렇게 표현할 수 있음

2ebcc224eadc76b660b8f68b12d21a1d537a558972

걍 이렇게 쓰면 g1함수는 a매개변수가 제네릭타입으로 지정되었음

이제 어떤타입이든 대응할 수 있는 함수를 만들 수 있음


타입별칭에 적용해보면 

2ebcc224eadc78ee3ff698a518d604038f7f1cf890b6b0b02c

Type3Func함수의 시그니처는 T와Q타입 값을 입력받아 R타입 값을 반환하는걸 나타내게됨


인터페이스나 클래스에서 사용할때는 더 다양한 용례가 있는데

함수형에서는 이렇게 뭐가들어가서 뭐가나오는지 명확하면 합성할때 편함