【问题标题】:Conditional Optional Argument Type条件可选参数类型
【发布时间】:2020-03-18 23:40:02
【问题描述】:

目前我有一个演示条件参数的示例,传入的第二个参数的值将取决于第一个参数的类型。

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

我添加 ? 时的问题是它永久可选,没有它是必需的。

【问题讨论】:

  • G不是没用过吗?

标签: typescript typescript-typings typescript-generics


【解决方案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)()

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 2023-01-25
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2023-01-17
    相关资源
    最近更新 更多