私はパラメータを取るメソッドを持っています。私は、Typescriptが渡されているオブジェクト(typescriptコンパイル時に、実行時が別の動物であることを理解している)が、許可されたインタフェースのうちの1つを満たしていることを確認します。Typescriptは相互に排他的な型をサポートしていますか?
例:
interface Person {ethnicity: string;}
interface Pet {breed: string;}
function getOrigin(value: Person^Pet){...}
getOrigin({}); //Error
getOrigin({ethnicity: 'abc'}); //OK
getOrigin({breed: 'def'}); //OK
getOrigin({ethnicity: 'abc', breed: 'def'});//Error
私はPerson^Pet
が有効活字体ではないことを認識し、それは私がしようとする考えと合理的に思えた最初のことです。
私は*([タイプガード]あなたが探しているもの*だと思うHTTPS ://basarat.gitbooks.io/typescript/content/docs/types/typeGuard.html)。 AFAIK TypeScriptは排他型をサポートしていません。 – Amy