目前,我有一个演示条件参数的示例,传入的第二个参数的值将取决于第一个参数的类型。
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)()
当我添加?
时,该问题使其成为永久可选的,而无需它。
答案 0 :(得分:2)
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)()