TypeScript 怎么写一个前置的剩余参数函数

const www = (...path:string[],
arr:Object[],
target:number,)
=>{}

上面的 ... 会报错 A rest parameter must be last in a parameter list.ts(1014)
这种函数能有什么方法写出来吗

回复
阅读 1.7k
3 个回答
const www = <T extends [...string[], {}[], number]>(...args: T) => {};

为什么之前不给我的答案评论,必须要一步步都写清楚吗?

type Fn<T extends any[]> = (...args: [...T, Object[], number]) => any
type WWW = Fn<number[]>
const www:WWW = (a,b,c,d) => {}
www(1)
www(1,2)
www(1,2, [])
www(1,2, [], 1)
www(1,2,3,4,5,6, [], 1)

ts playground

前置的却是不会,但剩余参数最好写在后面。

const www = (arr:Object[], target:number, ...path:string[]) =>{}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏