728x90
반응형
교차 타입 (Intersection Type)
교차 타입은 유니언 타입과 밀접한 관련이 있지만, 사용방법은 다릅니다. 교차 타입은 여러 타입을 하나로 결합합니다. 기존 타입을 합쳐 필요한 기능을 모두 가진 단일 타입을 얻을 수 있습니다. 예를 들어, Person & Serializable & Loggable
은 Person
과 Serializable
그리고 Loggable
입니다. 즉, 이 타입의 객체는 세 가지 타입의 모든 멤버를 갖게 됩니다.
interface ErrorHandling {
success: boolean;
error?: { message: string };
}
interface ArtworksData {
artworks: { title: string }[];
}
interface ArtistsData {
artists: { name: string }[];
}
// 이 인터페이스들은
// 하나의 에러 핸들링과 자체 데이터로 구성됩니다.
type ArtworksResponse = ArtworksData & ErrorHandling;
type ArtistsResponse = ArtistsData & ErrorHandling;
const handleArtistsResponse = (response: ArtistsResponse) => {
if (response.error) {
console.error(response.error.message);
return;
}
console.log(response.artists);
};
728x90
반응형
'프론트엔드 스터디 > Typescript' 카테고리의 다른 글
[TypeScript] 기초 - 타입 추론(Type Inference) (0) | 2021.07.21 |
---|---|
[TypeScript] 기초 - 제네릭(Generic) (0) | 2021.07.21 |
[TypeScript] 기초 - 유니온 타입(Union Type) (0) | 2021.07.21 |
[TypeScript] 기초 - 리터럴 타입 (0) | 2021.07.20 |
[TypeScript] 기초 - 인터페이스(Interface) (0) | 2021.07.20 |