본문 바로가기
Typescript

Typescript Partial, Required, Pick 사용방법

by 루에 2022. 1. 24.
반응형
interface IPerson
{
    name: string;
    age: number;
    gender: string;
}

/**
 * 인터페이스의 모든 프로퍼티를 optional하게 변경한다.
 */
type PartialPerson = Partial<IPerson>;
const partialPerson: PartialPerson =
{
    gender: "male" // optional
}

/**
 * 인터페이스의 모든 프로퍼티를 required하게 변경한다.
 */
type RequiredPerson = Required<PartialPerson>;
const requiredPerson: RequiredPerson = 
{
    name: "Jade",  // required
    age: 29,       // required
    gender: "male" // required
}

/**
 * 인터페이스의 프로퍼티중 일부(name, age)만 받도록 설정한다.
 */
type PickPerson = Pick<IPerson, "name" | "age">;
const pickPerson: PickPerson =
{
    name: "Jade", // required
    age: 29,      // required
    // gender: "male" --> (X)
}

/**
 * 인터페이스의 프로퍼티중 일부(name,age)는 required
 * gender는 optional로 받도록 설정한다. 
 */
type PickPerson2 = Pick<IPerson, "name" | "age"> & Pick<Partial<IPerson>, "gender">;
const pickPerson2: PickPerson2 =
{
    name: "Jade",  // required
    age: 29,       // required
    gender: "male" // optional
}

 

출처 : https://ithub.tistory.com/239

반응형

댓글