Typescript 함수의 입력 타입과 출력타입 추출하기
라이브러리를 사용하다보면 제공하는 메서드의 대부분의 타입을 import 해서 사용할 수 있지만 그렇지 않은 경우도 있습니다
함수의 입력타입 추출하기
함수로 부터 입력 파라미터 타입을 추출할 수 있는 유틸타입(Parameters)을 사용하면 쉽게 타입을 정의해서 사용할 수 있습니다
Parameters<함수타입>
과 같이 사용하면 함수의 파라미터타입을 배열로 받을 수 있습니다
function add(a: number, b: number) {
return a + b;
}
type AddParameterA = Parameters<typeof add>[0]; // number <- a
type AddParameterB = Parameters<typeof add>[1]; // number <- b
function addArgs(args: { a: number; b: number }) {
return args.a + args.b;
}
type AddArgsParameter = Parameters<typeof addArgs>[0]; // { a: number; b: number }
함수의 출력타입 추출
함수의 리턴타입을 추출하는 유틸타입은 ReturnType 입니다
function addArgs(args: { a: number; b: number }) {
return args.a + args.b;
}
type AddArgsReturnType = ReturnType<typeof addArgs>; // number