개발이야기

[TIL]32.타입스크립트 제네릭

무서운승태 2023. 12. 5. 20:17
728x90

제네릭이란???

많은 프로그래밍 언어에서 제네릭이란 것을 채택하고 있다. 타입스크립트에서도 제네릭을 채택하고 있다. 타입을 고정적으로 선언하는 것이 아니라 유연하게 타입을 사용할 수 있게 한다. 이것은 엄청난 장점으로 작용한다.

타입이 유연하게 바뀐다는것은 컴포넌트를 재활용할 수도 있기 때문에 좋은 사용성을 가지게 된다.

// 기존사용법 파라미터의 타입이 정해져있다.
function whatValue(value: any) {
  return value;
}
const value = whatValue("test");

// 제너릭사용 파라미터의 타입이 정해지지 않고 실행시점에 정해진다.
function genericWhatValue<T>(value: T) {
  return value;
}
const genericResult = genericWhatValue<string>("test");

-그외 다른 사용법-

//클래스에서 사용법
class GenericNumber<T> {
    zeroValue: T;
    add: (x: T, y: T) => T;
}

//인터페이스에서 사용법 
interface GenericIdentityFn<T> {
  (arg: T): T;
}