2017-08-25 18 views

答えて

2

あなたはtypeキーワードを使用することができます(ないlet )を使用して、 新しいタイプ をあなたのユニオンタイプのエイリアスとして作成します。

https://www.typescriptlang.org/docs/handbook/advanced-types.html

interface Man { 
    name: string 
} 

interface Dog { 
    breed: string 
} 

type ManOrDog = Man | Dog; 

型警備員の表情を持っていることを忘れないでください、効果的にこれらの労働組合のタイプを使用するには、同じドキュメントのリンクで説明。


EDIT:あなたがように拡張しうること、新しいタイプ別Interfaceだろう

:私は別名によって新しいタイプを交換しなかった理由。

typeで作成されたエイリアスを拡張するInterfaceを作成することはできません。

また、エラーメッセージにはManOrDogが表示されません。

この場合、ユニオンタイプの場合、エイリアスは唯一の方法です。 交差点タイプについては

しかし、あなたはあなたがそれを達成するために、継承を使用することができ

interface ManAndDog extends Man, Dog { } 

別名

type ManAndDog = Man & Dog; 
2

新しいタイプ間の選択肢があります

interface ManDog extends Man, Dog {} 

は、代替的に、このようなタイプのいずれかManの一つまたはDog

type ManDog = Man | Dog; 
+0

おかげを有するよう。これはベストプラクティスとみなされますか? –

+0

@camden_kidさらに機能を追加する予定がない場合は、オプション2) –

+1

を入力してください。 'manDog = Man |犬; '? –

関連する問題