【发布时间】:2020-02-20 15:47:21
【问题描述】:
type SomeFunc = (a:string, b:number, c:someCustomType) => number;
我想创建一个和上面一样的类型,除了最后添加了一个参数。比方说,d:number;
type SomeFuncAltered = (a:string, b:number, c:someCustomType, d:number) => number;
虽然我不想手动制作整个类型,但我很确定这里可以使用 Parameters<func> 的巧妙技巧。
【问题讨论】:
-
如果它被添加在前面,你可以这样做:
type Alter<T extends (...args: any) => any> = (extraArg: number, ...args: Parameters<T>) => ReturnType<T>;。我不知道如何在最后添加它,因为 rest args 只能在最后。 -
前面很简单 :) 但结尾不是
标签: typescript