옹재
소소한 개발 블로그
옹재
전체 방문자
오늘
어제
  • 분류 전체보기 (66)
    • 개발 관련 서적 스터디 (6)
    • 프론트엔드 스터디 (36)
      • Javascript (16)
      • Typescript (13)
    • Vue 스터디 (22)
    • 개발 관련 스터디 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • scss
  • 프레임워크 없는 프론트엔드 개발
  • 개발서적 스터디
  • CSS
  • 프론트엔드 스터디

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
옹재

소소한 개발 블로그

프론트엔드 스터디/Typescript

[TypeScript] 기초 - 교차 타입(Intersection Type)

2021. 7. 21. 14:10
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
    '프론트엔드 스터디/Typescript' 카테고리의 다른 글
    • [TypeScript] 기초 - 타입 추론(Type Inference)
    • [TypeScript] 기초 - 제네릭(Generic)
    • [TypeScript] 기초 - 유니온 타입(Union Type)
    • [TypeScript] 기초 - 리터럴 타입
    옹재
    옹재

    티스토리툴바