TypescriptハンドブックのClass Typesセクションを読んでいて、クラスのインターフェイス定義の記述方法が混乱しています。ドキュメントから、クラスの "インスタンス"側を記述するためにインタフェースを使用できることを理解しています。しかし、クラスの静的な側面を記述するインタフェースをどのように記述しますか?ここでクラスのTypescriptインターフェイスの作成
は例です:コンストラクタ関数も同様に説明することができるように、この例では
interface IPerson {
name: string;
getName(): string;
}
class Person implements IPerson {
public name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name;
}
}
、どのようIPerson
を変更するのでしょうか?
「let p:IPersonStatic = Person」とは何かを説明できますか?この設定は 'Person'クラスを参照する' p'変数ですか? – wmock
@wmock 'Person'クラスの宣言は、' Person' - 1)型と呼ばれる2つのものと、2) 'Person'を構築する関数を参照する変数を作成します(' new'接頭辞、すなわちコンストラクタ)。あなたのコードでは、型や値のどちらか一方について常に明確に話しているが、両方ではないので、混乱することは問題ありません。変数 'Person'は' Person'型の 'const'のようなもので、構造的に互換性のある型の変数に代入することができます。 –