extends를 사용해 들어올 타입을 제한할 수 있습니다.

//제네릭
// 인터페이스, 제약 조건


//string , number만 받는다 라는 의미
interface MyData<T extends string | number>{
  name: string;
  value :T
}

const dataA: MyData<string> = {
  name: 'Data A',
  value: 'Hello world'
}

const dataB: MyData<number> = {
  name: 'Data A',
  value: 2342
}

const dataC: MyData<boolean> = {
  name: 'Data A',
  value: false
}

const dataD: MyData<number[]> = {
  name: 'Data A',
  value: [1,2,3,4]
}

 

+ Recent posts