[타입선언, @types 47] 타입 export

2022. 7. 30. 14:32책/이펙티브 타입스크립트

공개 API에 등장하는 모든 타입은 익스포트 하는 것이 좋다. 어차피 타입 간 매핑 도구가 많아서 웬만하면 필요한 타입을 참조하는 방법을 찾을 수 있기 때문이다.

interface 비밀이름 {
  first: string;
  last: string;
}
interface 비밀친구 {
  name: 비밀이름;
  gift: string;
}

// 어쭈? 타입을 숨겨?
export function 비밀선물(name: 비밀이름, gift: string): 비밀친구 {
  return { name, gift };
}

// 어차피 전부 다 까발릴 수 있는데?
type 함수반환타입 = ReturnType<typeof 비밀선물>;
type 매개변수타입 = Parameters<typeof 비밀선물>;


괜히 타입 좀 숨겨보자고 뻘 짓 하지 말자ㅎㅎ