• Utility Type - 3

    → T에서 Key가 union K에 있는 속성 집합을 선택합니다.

    → 선택 하고자 하는 타입들이 더 명확하다면 Pick 을 사용

    */**
     * From T, pick a set of properties whose keys are in the union K
     */*
    type Pick<T, K extends keyof T> = {
        [P in K]: T[P];
    };
    
    type Video = {
      id: string;
      title: string;
      url: string;
      data: string;
    };
    
    type VideoMetadata = Pick<Video, 'id' | 'title'>;
    *// 정보들이 많은 타입이 있고, 그 중에 몇가지만 다루는 타입이 있다면 Pick 을 사용하면 된다.*
    *// 내가 원하는 타입들만 쏙쏙 골라서 받아올 때 사용*
    
    function getVideo(id: string): Video {
      return {
        id,
        title: 'video',
        url: 'https://..',
        data: 'byte-data..',
      };
    };
    
    function getVideoMetadata(id: string): VideoMetadata {
      return {
        id: id,
        title: 'title',
      };
    };