1
対インタフェースは、私は、次の機能を持っている:検証関数のシグネチャ - タイプの別名
function (n: number) {
return {s: n};
}
は私が署名のためのバリデータを作成する必要があります。私が何を読んでから私は2つのオプションがあります。
インタフェースを
interface ValidatorFnInterface {
(n: number): {
[key: string]: any;
};
}
タイプの別名
type ValidatorFnType = (n: number) => {
[key: string]: any
};
そして、彼らはこのように使用することができます:
let f1: ValidatorFnInterface = function (n: number) {
return {s: n};
};
let f2: ValidatorFnType = function (n: number) {
return {s: n};
};
Typescript lib.d.ts
は型エイリアスを使用しているようですが、angular2コードはインターフェイスを使用しているようです。私の質問は何を使うのですか?意思決定の際に使用すべきロジックがありますか、それとも好みの問題ですか?
おかげさまで、関数シグネチャの検証のためにインターフェイスに固執するとはどういうことでしょうか? –
@ Maximusあなたの要件によって異なります。私は個人的には、タイプエイリアスで自分のタイプを表現するのが好きです。しかし、インターフェースはおそらくより安全な賭けであり、より再利用可能です。ありがとう。 – Alex
ありがとう。タイプエイリアスはインターフェイスではなく言語の後ろに表示されましたか?多分、それがangular2がインタフェースを使用する理由です。また、あなたは[this](http://stackoverflow.com/questions/13137350/defining-typescript-callback-type#comment47535906_14249517)について何とお伝えしますか? –