Typescriptジェネリックは型の問題を返します
Dec 14 2020
プロジェクトでtypescriptジェネリックを使用していますが、うまく機能していないようです。
例:
interface Test<T, P> {
a?: (v: T) => P
b?: (v: P) => void
}
const fn1 = <T, P>(_config: Test<T, P>) => {}
fn1({
a: (p) => 1,
b: (p) => {},
})
私は次のようにparams 'a'
タイプすると思います:
Test<unknown, number>.a?: ((v: unknown) => number) | undefined
でも実は:
Test<unknown, unknown>.a?: ((v: unknown) => unknown) | undefined
理由はわかりません、誰かが私を助けることができますか?ありがとう。
回答
Passersby Dec 14 2020 at 13:15
この行でタイプを定義していないので: b: (p) => {}
その場合、TSは、上記の定義でPを返しても、Pのタイプを推測できませんa
。