のインタフェースと種類で活字体の違い

https://github.com/SunshowerC/blog/issues/7


我々は、使用インタフェースと型にtypescriptですが、常にを使用し、公式の仕様が少し2下の違いと言う
アン・インターフェースがリテラルでないタイプのCAN ANオブジェクトのための句や道具を拡張し、しかし、型エイリアスのAに名前を付けることができます。
アン・インターフェースは、複数を合併していることができます宣言が、タイプの別名オブジェクト型のリテラルはできません。
しかし、あまりにも具体的ではない例。

明は、直接差に、暗い言葉を言いませんでした。

同じ点は

オブジェクトまたは関数記述することができる

インターフェイス

ユーザーインターフェイスを{
  名:文字列
  年齢:ナンバー
}

インターフェイスSETUSER {
  (名称:文字列、年齢:数):ボイド;
}

種類

ユーザの入力= {
  名:文字列
  年齢:数値
};

タイプSETUSER =(名称:文字列、年齢 :番号):無効。

クロスタイプ(交差点タイプ)(延び)拡張

インターフェース缶が延びており、実装が、インターフェースのタイプであることが、クロス型の挙動を通って延び、そして両者が互いに独立していない欠落を達成することができる延び、しかしタイプが許可されていませんインターフェースCANタイプを拡張し、タイプは、インターフェイスタイプを横断することができます。
が、効果はほとんどですが、二つの異なる構文。

インタフェースを拡張するインタフェース

名インタフェース{
  名:文字列;
}
ユーザーインターフェース名{延び
  年齢:数;
}

型および型クロス

タイプ名= {
  名:文字列;
}
ユーザーの入力=名前&{年齢:数};

拡張するインタフェースタイプ

名タイプ{=
  名前:文字列;
}
ユーザー{名延びインタフェース
  年齢:数;
}

型インターフェースと交差します

名前{インタフェース
  名:文字列;
}
タイプユーザー名=&{
  年齢:数。
}

 

異なる

タイプがないインターフェースもよい

タイプの基本的なタイプの別名、関節の種類、タプルの他の型を宣言することができる

//基本型エイリアス
タイプString名前=

@入力ジョイント
インタフェース犬{
    ウォン();
}
カタログインターフェース{
    ミャオ();
}

ペット=犬を入力|猫の

種類が//各特定の場所の配列定義
タイプPetList = [犬、ペット]の

タイプの文はまた、割り当てtypeof演算型のインスタンスを取得するために使用することができますの

使用、あなたは変数の型を取得したいとき//をtypeof演算
DIV =のdocument.createElementを聞かせて( 'DIV');
タイプB = DIV typeof演算

他のサンの動作

タイプStringOrNumber =文字列|番号、  
テキストを入力文字列= | {テキスト:文字列};  
TYPE = NameLookup辞書<文字列、人>;  
タイプコールバック<T> =(データ:T)=>ボイド;  
タイプペア<T> = [T、T]。  
型座標=ペア<番号>、  
タイプツリー<T> = T | {左:木<T>、右:木<T>};

インターフェースがないタイプもよい

合併を宣言するためのインタフェース

ユーザー{インタフェース
  名:文字列
  年齢:数
}

ユーザー{インターフェイス
  文字列:セックス
}

/ *
ユーザー・インターフェース{
  名:文字列
  年齢:ナンバー
  文字列:セックス
}
* /

概要は
インタフェースを使用するために、インターフェースは達成することができ、インタフェース/タイプを使用する際に不明な場合は、一般的には、あなたはタイプを使用することができない場合。詳細については、他の参照のために公式の仕様書を

 

おすすめ

転載: www.cnblogs.com/liuzhenwei/p/12530928.html