TypeScript PartialOmit 차이점

TypeScript에서 PartialOmit은 객체 타입을 변경하는 유용한 유틸리티 타입입니다. 이들의 차이점은 주로 속성을 어떻게 처리하는지에 있습니다.

1. Partial<T>

Partial은 주어진 타입 T의 모든 속성을 선택적으로 만듭니다. 즉, 타입의 각 프로퍼티를 optional로 바꿔줍니다.

예시:

interface User {
  name: string;
  age: number;
}

const user: Partial<User> = {
  name: "Alice"
  // age는 선택적이므로 생략 가능
};

특징:

  • 모든 속성이 선택적입니다.
  • 객체의 속성 중 일부만 포함될 수 있습니다.

2. Omit<T, K>

Omit은 주어진 타입 T에서 특정 속성 K제거한 새로운 타입을 생성합니다. K는 제거할 속성들의 키를 나타냅니다.

예시:

interface User {
  name: string;
  age: number;
  email: string;
}

const user: Omit<User, "email"> = {
  name: "Alice",
  age: 25
  // email 속성은 제거됨
};

특징:

  • 특정 속성을 제외하고 나머지 속성만 포함합니다.
  • 하나 이상의 속성도 제거할 수 있습니다.

차이점 요약:

유틸리티 타입 동작 방식
Partial<T> 모든 속성을 선택적으로 만듭니다.
Omit<T, K> 특정 속성을 제거하고 나머지 속성만 포함합니다.

따라서, Partial은 속성을 선택적으로 만들 때 사용하고, Omit은 특정 속성을 제거할 때 사용됩니다.