我正试图让TS推断一些泛型,并允许其他泛型被明确定义,但我无法弄清楚。
以这个例子为例:
declare function foo<T, U>(arg: U): { T: T, U: U };
如果我允许推理或通过所有泛型,但不能仅通过T
:
const a = foo<number, string>('bar'); // works as expected: number, string
const b = foo('bar'); // works as expected: unknown, string
const x = foo<number>('bar'); // doesn't infer U: number, unknown
有什么办法可以使它正常工作吗?