2017-10-07 4 views

答えて

1

あなた自身がintersection typesを使用することを検討して、あなたは上extendsを使用することはできませんタイプを拡張したい見つけます。あなたの場合は、Tの汎用品がありますので、interface WithPotato extends Tを行うことはできません。また、T extends {potato: number}を渡すこともできません。これは、渡されたタイプTが実際にそれを拡張するものではないからです。あなたにできることはこれです:

type Potatoizer<T> = (input:T) => T & {potato: int} 

(?int何あなたがnumberを意味しています)

そしてPotatoizer<T>は、いくつかのタイプのパラメータを受け取り、値を返す関数の型でありますタイプint(またはあなたが意味するもの)タイプの追加のpotatoプロパティを持つ同じタイプです。


がんばろう!

+0

Whoa! '&'。それはどこから来ましたか?高尚な仲間:} – Birowsky

関連する問題