Tip-05. 유틸리티 타입
Partial<T>
프로퍼티들을 optional하게 변경시켜준다.
Required<T>
프로퍼티들을 required하게 변경시켜준다.
Pick<Type, Keys>
원하는 key들만 가진 타입을 생성한다.
Omit<Type, Keys>
지정한 key들을 제외한 타입을 생성한다.
Extract<type or interface, Types>
타입이나 인터페이스에서 number, string 등을 지정하여 해당 타입에 해당하는 프로퍼티만 필터링해줘서 반환한다.
Exclude<type or interface, Types>
Extract와 반대로 해당 타입들을 제외한 나머지 타입만 필터링해준다.
ReturnType<함수>
함수의 리턴타입을 반환한다.
Awaited<Type>
Promise로 감싸져있다면 Promise를 제거해준 타입을 반환한다.
Readonly<Type>
프로퍼티들을 Readonly로 바꾼 타입을 반환한다.
Record<Keys, Type>
이거...중요하다.
객체를 표현해준다. 아래는 예시다.
const obj: Record<string, any> = {}
NonNullable<Type>
타입에서 null, undefined를 제거해준 타입을 반환한다.
Parameters<함수>
함수의 파라미터를 배열타입으로 반환한다.
ConstructorParameters<Type>
생성자 함수 타입의 모든 매개변수 타입을 반환한다.
etc
이 외에도 InstanceType
, ThisParameterType
등이 있지만 지금은 쓸 일이 없을것 같아서 작성 안함
나중에 사용할 일이 있으면 다시 작성하겠음