[TypeScript] 유틸리티 타입(Partial)

종현·2024년 1월 9일

[TypeScript]

목록 보기
16/19

Partial 유틸리티 타입

  • 특정 타입의 모든 속성을 모두 옵션 속성으로 변환한 타입을 생성해준다.

  • 주로 HTTP PUT처럼 데이터를 수정하는 REST API를 전송할 때 종종 사용되는 타입이다.

  • Pick, Omit과 같이 객체 형태의 타입만 대상 타입으로 취급할 수 있다.

  • 제네릭의 타입을 넣어준 속성들이 전부 옵셔널 처리된다.

문법

Partial<대상 타입>
  
interface Todo {
  id: string;
  title: string;
}

type OptionalTodo = Partial<Todo>; // type OptionalTodo = { id? :string; title?: string; }

예시

  • 특정 타입의 속성을 모두 선택적으로 사용할 수 있으므로 보통 데이터 수정 API를 다룰 때 사용한다.
interface Todo {
  id: string;
  title: string;
  checked: boolean;
}

function updateTodo(todo: Todo) {
  ...
}
  
// id 속성만 넘기는 경우
function updateTodo(todo: Pick<Todo, 'id'>) {
  ...
  
//id와 checked 속성만 넘기는 경우
function updateTodo(todo: Omit<Todo, 'checked'>) {
  ...
}
  
// 할 일 데이터에 정의된 값을 모두 넘기는 경우
function updateTodo(todo: Todo) {
  ...
}
  
// 위의 모든 케이스를 만족시킬 수 있다.
function updateTodo(todo: Partial<Todo>) {
  ...
}
}```
---
출처: [쉽게 시작하는 타입스크립트](https://m.yes24.com/Goods/Detail/119410497)
profile
지속 가능한 성장 습관을 만들어 나가고 싶어요!

0개의 댓글