Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
195 views
in Technique[技术] by (71.8m points)

typescript中如何重载函数

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

// 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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
function add(...arr:number[]|[number[]]):number

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...