Typescript 함수의 입력 타입과 출력타입 추출하기

Typescript 함수의 입력 타입과 출력타입 추출하기

라이브러리를 사용하다보면 제공하는 메서드의 대부분의 타입을 import 해서 사용할 수 있지만 그렇지 않은 경우도 있습니다

react-accessible-treeview의 flattenTree 메서드 타입의 입력타입은 export가 붙어있지 않다

함수의 입력타입 추출하기

함수로 부터 입력 파라미터 타입을 추출할 수 있는 유틸타입(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

참고

Read more

쉬어가며2

쉬어가며2

개발 일만 하다 보면 눈앞의 코드에만 집중하게 된다. 오늘은 조금 다른 이야기를 해볼까 한다. 바로 주식에 대한 이야기다. 왜 주식을 해야 하는가? 주식을 시작하면 자연스럽게 질문이 많아진다. "왜 이 회사는 영업이익이 늘었는데 주가는 떨어졌을까?" "PER이 낮은데 왜 아무도 사지 않을까?" 재무제표를 읽고, 뉴스를 찾아보고, 시장의 흐름을 추적하다 보면 세상을 보는

By Jeonggil
쉬어가며

쉬어가며

개발 일만 하다 보면 때로는 잠시 멈춰서 주변을 둘러보는 것도 중요하다. 오늘은 오래전에 다녔던 병원에서의 일을 가볍게 풀어볼까 한다. 고객이 병원에 방문하고, 그것이 수익으로 이어지기까지. 그 안에는 생각보다 훨씬 많은 전략과 기술, 그리고 사람들의 노력이 숨어있다. 1. 들어가며 오래전 다녔던 한 병원에서의 일이다. 당시 나는 "의료 IT"라는 낯선 도메인에

By Jeonggil