타입스크립트 유틸리티 타입

김석규·2022년 11월 4일
0

타입스크립트

목록 보기
2/4

타입 스크립트는 공통 타입 변환을 용이하게 하기 위해 몇가지 유틸리티 타입을 제공하고, 이 유틸리티 타입은 전역으로 사용 가능하다.

여기서는 Partial, Pick, Omit 타입만 다룬다.

interface User {
	id: string;
	email: string;
	password: string;
	nickname: string;
}

Partial<T>

function editUser(editUserInput:Partial<User>) {
    //...생략
}

T의 모든 프로퍼티를 선택적으로 만드는 타입을 구성한다. 이 유틸리티는 주어진 타입의 모든 하위 타입 집합을 나타낸는 타입을 반환한다.

예: 유저 정보 변경시 email, password, nickname 중 어느 한가지만 인수로 들어올 수 있고, 아니면 모든 프로퍼티가 인수로 들어올 수도 있다.

User 인터페이스의 모든 프로퍼티를 옵셔널로 설정하거나 별개의 인터페이스를 만들수도 있지만 Partial타입을 이용하는 것이 효율적이다.

Pick<T, K>

function login(loginInput:Pick<User, "email" | "password">) {
    //...생략, loginInput은 User의 일부인 email과 password이다.
}

T에서 K의 집합을 선택해 타입을 구성한다.

Omit<T, K>

function userData():Omit<User, "password"> {
    //...생략, userData함수는 User에서 password 프로퍼티를 제외한 id, email, nickname로 구성된 객체를 반환한다.
}

유저정보를 반환할때 민감한 정보인 비밀번호를 제외하고 반환하는 일 등에 사용할 수 있다.

출처: 유틸리티 타입 · GitBook

profile
백엔드 개발자 지망생

0개의 댓글