반응형

TypeScript는 정적 타입을 지원하여 코드의 안정성과 유지보수성을 높이는 데 도움을 줍니다. 이 중에서도 OmitPartial은 매우 유용한 유틸리티 타입으로, 각각 객체 타입을 변형하는 데 사용됩니다. 이번 글에서는 OmitPartial의 차이점을 자세히 설명하겠습니다.

Partial<T>

Partial 유틸리티 타입은 주어진 타입 T의 모든 프로퍼티를 선택적으로 만듭니다. 즉, 모든 프로퍼티가 있어도 되고 없어도 되는 상태가 됩니다.

사용 예시

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

type PartialUser = Partial<User>;

const user1: PartialUser = {};
const user2: PartialUser = { id: 1 };
const user3: PartialUser = { name: 'Alice', email: 'alice@example.com' };

특징

  • 모든 프로퍼티가 선택적(Optional)으로 변환됩니다.
  • 주로 객체의 일부 프로퍼티만 업데이트할 때 유용합니다.

Omit<T, K>

Omit 유틸리티 타입은 주어진 타입 T에서 특정 프로퍼티 K를 제거한 새로운 타입을 만듭니다.

사용 예시:

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

type UserWithoutEmail = Omit<User, 'email'>;

const user: UserWithoutEmail = { id: 1, name: 'Alice' };

특징

  • 주어진 타입에서 특정 프로퍼티를 제거하여 새로운 타입을 만듭니다.
  • 주로 특정 프로퍼티를 제외한 나머지 프로퍼티만 필요할 때 유용합니다.

 

차이점 정리

  1. 변형 방식:
    • Partial<T>: 모든 프로퍼티를 선택적으로 만듭니다.
    • Omit<T, K>: 특정 프로퍼티를 제거하여 새로운 타입을 만듭니다.
  2. 사용 목적:
    • Partial<T>: 객체의 일부만 업데이트하거나, 선택적인 프로퍼티를 가질 때 사용합니다.
    • Omit<T, K>: 불필요한 프로퍼티를 제거하고 필요한 프로퍼티만 가지는 타입을 만들 때 사용합니다.
  3. 예시 적용 상황:
    • Partial<T>: API 요청에서 선택적인 업데이트 데이터를 보낼 때.
    • Omit<T, K>: 데이터베이스 엔터티에서 민감한 정보를 제외한 데이터를 반환할 때.

결론

PartialOmit은 TypeScript에서 객체 타입을 변형하는 데 매우 유용한 도구입니다. Partial은 모든 프로퍼티를 선택적으로 만들어 부분 업데이트나 선택적 프로퍼티를 다룰 때 유용하고, Omit은 특정 프로퍼티를 제거하여 필요한 데이터만 다룰 때 유용합니다. 각 유틸리티 타입의 특징과 사용 목적을 잘 이해하고 적절하게 활용하면 더욱 안정적이고 유지보수하기 쉬운 코드를 작성할 수 있습니다.

반응형
얼은펭귄