타입스크립트 - Utility

타입스크립트 - Utility

카테고리
Typescript
날짜
2024년 06월 15일
작성자
JeongjungsikJeongjungsik
태그
💡
유틸리티 타입: ‘기존의 타입을 조작해서 새로운 타입을 만드는 것’
 
💡
유틸리티 타입의 자세한 사용방법은 아래 홈페이지를 참고하자.
 
공식홈페이지 설명 코드보다 더 간단한 코드의 예제가 있어서 코드를 긁어왔다.
 

공통 인터페이스

💡
아래 예제들에 사용되는 인터페이스 타입이다.
interface IProfile { name: string; age: number; school: string; hobby?: string; }

Partial

  • 선택적으로 타입을 생성함
type aaa = Partial<IProfile>;
 
  • 바뀐 타입 결과
notion image

Required

  • 모든 타입이 필수 설정으로 바뀐다.
type bbb = Required<IProfile>;
 
  • 바뀐 타입 결과
notion image

Pick

  • IProfile 타입 중에서 name과 age만으로 타입 설정을 해준다.
type ccc = Pick<IProfile, 'name' | 'age'>;
 
  • 바뀐 타입 결과
notion image

Omit

  • IProfile 에서 모든 프로퍼티를 선택하고 키(school)를 제거한 타입을 생성한다.
type ddd = Omit<IProfile, 'school'>;
 
  • 바뀐 타입 결과: ‘school’ 이 사라짐
notion image

Record

  • Type의 프로퍼티 의 집합으로 타입을 생성한다.
// Union 타입 세가지 목록만 가능 type eee = '철수' | '영희' | '훈이'; type fff = Record<'name' | 'age', string>; type ggg = Record<eee, IProfile>;
  • type fff는 name과 age만 가져오고
notion image
  • type ggg는 type eee에 Iprofile를 매핑 시켜준다.
notion image

keyof

  • 객체의 key들로 Union 타입을 만들 수 있다.
type hhh = keyof IProfile; // 'name' | 'age' |'school' | 'hobby'
 

댓글

guest