본문 바로가기
개발/Node.js & Typescript

[Typescript] 유틸리티 타입 - Parameters, ReturnType, Required

by 자몬다 2020. 8. 1.
728x90

Parameters<T>

함수 타입 T의 매개변수 타입을 튜플 타입으로 정의한다. 

declare function createCat(cat: {color: string, legs: number}): void
type catParams = Parameters<typeof createCat>;
// [{color: string, legs: number}]

 

ReturnType<T>

함수 T의 반환 타입으로 정의한다. Parameters와 대칭되는 형태라고 볼 수 있겠다.

declare function createCat(): Cat
type catResult = ReturnType<typeof createCat>;
// Cat

 

Required<T>

T의 모든 속성이 필수인 타입을 만든다. optional로 설정한 속성도 반드시 가지고 있어야 한다.

interface User {
	name: string;
    password?: string;
 }
 
 const userData: User = {name: 'Effy'}; // OK
 const userLogin: Required<User> = {name: 'Effy'} // Error

댓글0