Partial
Type의 모든 프로퍼티를 선택적으로 만드는 타입을 생성합니다.
이 유틸리티는 주어진 타입의 모든 하위 타입 집합을 나타내는 타입을 반환합니다.
interface Todo {
title: string;
description: string;
}
function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
return { ...todo, ...fieldsToUpdate };
}
const todo1 = {
title: "organize desk",
description: "clear clutter",
};
const todo2 = updateTodo(todo1, {
description: "throw out trash",
});
// 위 코드에서 todo2의 값 (todo1에 todo2 속성 업데이트)
todo2 : {
"title": "organize desk",
"description": "throw out trash"
}
Partial은 Type의 프로퍼티 중에서 일부분을 가지고 있다는 뜻이다.
Type의 모든 프로퍼티를 가지거나 아무 프로퍼티를 가지지 않아도 에러가 발생하지 않지만 Type의 프로퍼티가 아닌 프로퍼티를 가지고 있다면 에러가 발생한다.