TypeScript 합시다

[TypeScript][ch7][Generic] Generic with extends

써치킴 2022. 2. 18. 02:25

클래스 내부에서 사용하는 타입 T의 자료형을 제한한다.

// <T extends string | number> : T는 string | number인 union type만 가능
class PersonExtends<T extends string | number> {
  private _name: T;

  constructor(name: T){
    this._name = name;
  }
}

new PersonExtends('Searchkim');
new PersonExtends(123);
// new PersonExtends(boolean);   // Error 발생: string, number타입이 아니기 때문에
  • <T extends string | number>
    • T는 string | number인 union type만 가능