✍ 공부/TypeScript
[type-challenges] Append Argument
Po_tta_tt0
2023. 6. 26. 07:40
반응형
문제
함수 타입 Fn과 어떤 타입 A가 주어질 때 Fn의 인수와 A를 마지막 인수로 받는 Fn과 동일한 함수 유형인 G를 생성하세요.
설명
type AppendArgument<Fn, A> = Fn extends (...args: infer R) =>infer T ? (...args:[...R,A])=>T : never
우와...
함수 Fn은 args가 몇 개로 정해지지 않았기 때문에 어떻게 확장할까 고민했는데
(...args:infer R) => infer T ✨
로 간단하게 사용할 수 있다는 것을 알았다.
그 다음은 다른 문제들과 같다.
또 Fn이 저 ✨을 extends하지 않을 시 never을 반환한다
ex
type t = AppendArgument<number, boolean> // never
반응형