반응형
문제
함수 타입 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
반응형
'✍ 공부 > TypeScript' 카테고리의 다른 글
[type-challenges] Flatten (0) | 2023.06.26 |
---|---|
[type-challenges] Length of String (0) | 2023.06.26 |
[type-challenges] ReplaceAll (0) | 2023.06.13 |
[type-challenges] Replace (0) | 2023.06.13 |
[type-challenges] Capitalize (0) | 2023.06.13 |