2016-11-14 10 views
0

Imho、特に、約束やストリームなどを扱うときに、解決された型のエイリアスを自分のコードに見ておくと便利です。詳細:実際の型の代わりにコンパイラ使用型エイリアスを作成する方法はありますか?

type FileName = string; 

function a(x: FileName): string { 
    return x + '!'; 
} 

a(2); // Argument of type 'number' is not assignable to parameter of type 'string'. 

だから、代わりに... parameter of type 'FileName'.を使用しないでください。 DDDをやっている間、それは多くの助けになります。今

、私は本当にこのxが正確に何を見て欠場いくつかの点で、より実際の生活の例ととして

stream.of(...).map(service.fn1).flatMap(service.fn2).map(x => x/*?*/)

コンパイラにエイリアスを使用させる方法はありますか?

答えて

0

私の場合は、用語を知らないという問題でした。 TypeScriptには構造型システムがあります。つまり、エイリアスに関係なく、文字列=文字列を意味します。しかし、これを克服する方法があります。ここには読書資料があります:

https://basarat.gitbooks.io/typescript/content/docs/tips/nominalTyping.html

関連する問題