TypeScript 생략 유형 작동 방식

TypeScript는 Javascript에서 유형을 사용하여 생성되는 특정 문제를 해결하는 데 사용되는 여러 유틸리티 유형을 제공합니다. TypeScript에서 사용되는 매우 유용한 유틸리티 유형 중 하나는 이미 존재하는 유형을 사용자 정의할 수 있는 Omit 유형입니다. 어떻게 작동하는지 살펴보겠습니다.

맞춤 유형



이 문서에서는 TypeScript에서 사용자 지정 유형을 만드는 방법을 알고 있다고 가정합니다. 그렇지 않으면 read my article on custom types here.

TypeScript 생략 유형



TypeScript에서는 종종 데이터가 특정 형식을 준수하는지 확인할 수 있는 사용자 정의 유형을 만듭니다. 예를 들어 firstName , lastName , agelastActive 의 4개 필드가 있는 사용자 정의 사용자 유형을 생성하려는 경우 다음과 같이 할 수 있습니다.

type User = {
  firstName: string;
  lastName: string;
  age: number;
  lastActive: number;
}


슬프게도 코딩이 항상 간단한 것은 아닙니다. 때때로 우리는 타입을 다시 사용하고 싶지만 특정 요소를 제거하여 새로운 타입을 생성합니다. 이를 위해 Omit<Type, Omissions>를 사용할 수 있습니다. 생략은 두 가지 값을 허용합니다.
  • 새 유형의 기반이 되는 유형
  • 제거할 모든 필드를 나열하는 Union Type입니다.
    예를 들어 사용자 유형을 가져오고 age 및 lastActive를 제거하려는 경우 다음을 수행할 수 있습니다.

  • type User = {
      firstName: string;
      lastName: string;
      age: number;
      lastActive: number;
    }
    
    type UserNameOnly = Omit<User, "age" | "lastActive">
    


    이제 핵심 사용자 유형인 UserUserNameOnlyage 를 뺀 사용자 유형인 lastActive 의 두 가지 유형이 있습니다. 마찬가지로 age 만 제거하려는 경우 다음으로 충분합니다.

    type UserNameAndActive = Omit<User, "age">
    


    이제 코드의 어느 곳에서나 새로운 유형을 사용할 수 있습니다. 이는 유형을 사용하고 특정 상황에 맞게 변환할 수 있는 유연성을 제공합니다. 다음은 두 가지 새 유형을 모두 사용하는 예입니다.

    type User = {
      firstName: string;
      lastName: string;
      age: number;
      lastActive: number;
    }
    
    type UserNameOnly = Omit<User, "age" | "lastActive">
    type UserNameAndActive = Omit<User, "age">
    
    const userByName:UserNameOnly = {
        firstName: "John",
        lastName: "Doe",
    };
    const userWithoutAge:UserNameAndActive = {
        firstName: "John",
        lastName: "Doe",
        lastActive: -16302124725
    }
    

    좋은 웹페이지 즐겨찾기