JavaScript

TS의 유틸리티 타입 Parameters<typeof ????>는 어떤 함수의 매개변수 타입들을 튜플로 뽑아내는 기능.

aphyrince 2025. 8. 9. 16:15
반응형

Parameters<typeof ㅁㅁ>는 타입스크립트의 유틸리티 타입 중 하나인데,
"어떤 함수의 매개변수 타입들을 튜플(tuple)로 뽑아내는" 기능을 한다.

type Parameters<T extends (...args: any) => any> 
	= T extends (...args: infer P) => any ? P : never;

 
T라는 함수 타입을 받고, (...args: infer P)로 함수의 매개변수 타입을 추론(infer)해서 그 매개변수들의 타입들을 P라는 튜플 타입으로 돌려준다.
 

const fetcher = (...args: Parameters<typeof fetch>) =>
	fetch(...args).then((res) => res.json());

위 코드에서, fetch의 인자를 그대로 ...args로 받고 있으니, 타입스크립트에서는 Parameters<typeof fetch>를 쓰면 안전하게 타입을 맞출 수 있다.

반응형