타입스크립트 제네릭
제네릭 이란 타입을 마치 함수의 매개변수처럼 사용하는 것을 의미한다.
정적 type언어는 클래스나 함수를 저의할 때 type 언어를 선언해야한다.
generic은 코드를 작성할 때가 아니라 코드를 수행될 때 타입을 명시한다.
코드를 작성할 때 식별자를 써서 아직 정해지지 않은 타입을 표시한다.
generic의 사용하는 이유
한가지 타입보다 여러가지 타입에서 동작하는 컴포넌트를 생성할 때 사용한다.
재사용성이 높은 함수와 클래스를 생성할 수 있다.
function logText<T>(text: T): T {
return text;
}
// 1과 2는 같은 의미
// #1
let str: <T>(text: T) => T = logText;
// #2
let str: {<T>(text: T): T} = logText;