【发布时间】:2018-05-12 02:36:06
【问题描述】:
自 TS 2.8 以来,我们可以执行以下操作:
type ArgType<F> = F extends (a: infer A) => any ? A : any
const fn: (s: string) => 500
ArgType<(typeof fn> // => string
让我们假设以下情况。
type FunctionCollection = {
[key: string]: (s: ???) => any
}
const fnCol: FunctionCollection = {
someFn: (s: string) => 500
}
问题:有没有办法用这样的类型替换 ???(或整个 FunctionCollection)
ArgType<(typeof fnCol)["someFn"]> 'equals' string
(问题是,例如,如果??? = any,我们得到any)
【问题讨论】:
标签: typescript functional-programming conditional-types