19
interface
とtype
宣言は同じことをしているようです。あなたはいつ他のものを使いますか?フローでタイプエイリアスを介してインターフェイスを使用するのはいつですか?
type Fooable = {
foo(): string
}
interface Fooable {
foo(): string
}
interface
とtype
宣言は同じことをしているようです。あなたはいつ他のものを使いますか?フローでタイプエイリアスを介してインターフェイスを使用するのはいつですか?
type Fooable = {
foo(): string
}
interface Fooable {
foo(): string
}
対これは素晴らしい質問です。理想的には、インターフェースとオブジェクトのタイプに違いはありません。実装されているように、それらの間には(しばしば微妙な)いくつかの違いがあります。
最も大きな違いは、インターフェイスで宣言されたメソッドが「読み取り専用」であると見なされることです。これにより、サブタイプを共変動させることができる。メソッドは、継承階層を持つ非常に一般的なパターンです。
時間で、私はフローは、これらの概念を統一見たい、それまで、ここで親指の私のルールは、インタフェースおよびオブジェクト型の間で選択するためです:あるほとんどのデータの袋を記述するための
nice answer、ありがとうございます! – vitorbal
これを拡張することができます: 'これは、サブタイプが共変型であることを可能にします。方法? – CMCDragonkai