目前我有一个演示条件参数的示例,传入的第二个参数的值将取决于第一个参数的类型。
type Check<G, T> = T extends number ? string : number
function Example<T>(arg: T) {
return function <P>(arg: Check<P, T>) {
}
}
// Valid:
Example('hello')(1)
Example(1)('hello')
如何更改上面的代码以使该示例正常工作?
Example()(1)
Example(1)()
我添加 时出现的问题?
它使其成为永久可选,没有它则成为必需。
最佳答案
void
就可以了!
type Check<G, T> = T extends number ? void : number
function Example<T>(arg?: T) {
return function <P>(arg: Check<P, T>) {
}
}
Example()(1)
Example(1)()
关于typescript - 条件可选参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59002038/