私は活字体にいくつかのコードを書いた:Part <T>を満たすためにジェネリック 'T'を返すことができないのはなぜですか?
type Point = {
x: number;
y: number;
};
function getThing<T extends Point>(p: T): Partial<T> {
// More interesting code elided
return { x: 10 };
}
をこれがエラーを生成します。
Type '{ x: 10; }' is not assignable to type 'Partial<T>'
これはバグのように思える - { x: 10 }
は明らかにPartial<Point>
です。ここで間違っているタイプスクリプトは何ですか?これをどうやって解決するのですか?
なり(P:T):部分;'コンクリート '関数getThing(P:ポイント)へ。部分; '?リテラルの余分なプロパティチェック? –
jcalz
'(x:T、y:T)'のようなものを書くかもしれません。シングル引数バージョンはあまり意味がありませんが、実際にジェネリックが必要ない人たちを説得するのは難しい場合もあります –