我对此感到困惑,无法弄清楚如何在没有第二个功能的情况下做到这一点:
interface Fixed { a: number }
const fn = <A, B extends {} = {}>(b: B) => {
return b
}
fn({ a: 1 }) // { a: number }
fn<Fixed>({ a: 1 }) // {}
const fn2 = <A>() => <B extends {} = {}>(b: B) => {
return b
}
const result = fn2<Fixed>()({ a: 1 }) // { a: number }
Run Code Online (Sandbox Code Playgroud)
为什么如果我修复类型 A,Typescript 无法推断出 B 的类型?如果我返回一个函数,该函数又尝试推断 B 的类型,那么一切都会再次正常。