Generics

旅人·2023년 4월 26일
0

정상적으로 docOne을 생성했지만 name속성과 age속성에 접근할 수 없다.
(uid는 가능)

addUID의 리턴값의 속성으로 uid만 명시해줬기 때문

이 때 제네릭을 사용하면 타입에 대한 힌트를 주어 속성을 정확히 파악해서 문제가 해결됨

extends 를 써서 상속받게 할 수도 있음


인터페이스를 만들 때도 특정 타입을 강조하기 위해 사용할 수도 있음

// with interfaces
interface Resource<T> {
  uid: number;
  resourceName: string;
  data: T;
}

const docThree: Resource<string> = {
  uid: 1,
  resourceName: "person",
  data: "Jack",
};

const docFour: Resource<string[]> = {
  uid: 2,
  resourceName: "shoppingList",
  data: ["item1", "item2"],
};

참고 :

https://joshua1988.github.io/ts/guide/generics.html#%EC%A0%9C%EB%84%A4%EB%A6%AD%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

https://www.youtube.com/watch?v=IOzkOXSz9gE&list=PL4cUxeGkcC9gUgr39Q_yD6v-bSyMwKPUI&index=18

profile
一期一会

0개의 댓글