typescript中如何重载函数

如果这样写,在实际写逻辑的时候 arr没有类型提示(但应该是number[])
有什么方法可以恢复提示吗 或者更好的思路

// ts

function add(arr:number[]):number;

function add(...arr:number[]):number;

function add(...arr:any):number{

// ...

console.log(arr)

return 1

}

add([7,8,9,10])

add(1,2,3,4)

回答

function add(...arr:number[]|[number[]]):number

用一个刚好涵盖两个重载的类型来定义,别用 any ,然后你自己判断 参数个数。

function add(arr: readonly number[]): number;

function add(...args: number[]): number;

以上是 typescript中如何重载函数 的全部内容, 来源链接: utcz.com/a/39385.html

回到顶部