typescripr 中,如何写能随意组合函数参数并且能得到对应类型的提示

2022-10-02 20:02:33 +08:00
 jahnsli

如何定义一个函数有 4 个参数(一个必选,三个可选),能随意组合参数并且能得到对应类型的提示

function name ( url,params:type ){}
function name ( url,params:type,config ){}
function name ( url,params:type,config,option ){}


用的时候

name('http',{params}) 或
name('http',{config})  或 
name('http',{option })   或
name('http',{params}, {option }) 或
name('http',{config}, {option })
1047 次点击
所在节点    TypeScript
2 条回复
noe132
2022-10-02 22:51:15 +08:00
interface Fn {
(a: string) => string
(a: string, b: boolean) => string
(a: string, b: boolean, c: number) => number
}

const fn: FN = (a: string, b?: boolean, c?: number) => {
// TODO:
}
jahnsli
2022-10-04 21:33:03 +08:00
但是 params 是 unknown 类型,导致第二个参数无法正确提示

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX