T에서 K 프로퍼티만 선택해 새로운 오브젝트 타입을 만드는 내장 제네릭 Pick<T, K>을 이를 사용하지 않고 구현하세요.타입스크립트의 유틸리티 타입 중 하나로, 유틸리티 타입은 이미 정의해 놓은 타입을 변환할 때 유용한 타입이다.Pick 타입은 특정 타입에서
T의 모든 프로퍼티를 읽기 전용(재할당 불가)으로 바꾸는 내장 제네릭 Readonly<T>를 이를 사용하지 않고 구현하세요.readonly는 타입 객체의 key 앞에 붙여주면서 사용할 수 있으며 읽기 전용 속성이므로 수정이 불가능하게 한다.구체적으로 초기화는 가능
배열(튜플)을 받아, 각 원소의 값을 key/value로 갖는 오브젝트 타입을 반환하는 타입을 구현하세요.PropertyKey 타입은 key값에 해당하는 전역 타입이다.가능한 모든 키를 사용하여 Record 유형을 생성하려는 상황에서 유용할 수 있습니다.읽기 전용 속성
배열(튜플) T를 받아 첫 원소의 타입을 반환하는 제네릭 First<T>를 구현하세요.조건부 extends절에서 사용하는 키워드이다.타입 스크립트가 엔진이 런타임 상황에서 타입을 추론할 수 있도록 하고, 추론한 타입 값을 infer 타입 파라미터 U 에 할당해준다
배열(튜플)을 받아 길이를 반환하는 제네릭 Length<T>를 구현하세요.읽기전용 unknown 타입의 배열로 타입을 제한하고 T\["length"] 인덱스 접근을 통해 타입의 전체 길이를 반환하여 문제를 해결하였다.
T에서 U에 할당할 수 있는 타입을 제외하는 내장 제네릭 Exclude<T, U>를 이를 사용하지 않고 구현하세요.여러개의 타입이 함께 존재하는 유니언 타입에서 특정 타입을 제거하는 유틸리티 타입이다.Exclude로 제거할 수 있는 것은 하나의 타입 부터 유니언