[解決済み] インターフェース定義でゲッター/セッターを使用することは可能ですか?
2022-09-02 09:33:20
質問
今現在
TypeScript
では、インターフェイスの中で get/set メソッド (アクセサ) を使用することができません。
例えば
interface I {
get name():string;
}
class C implements I {
get name():string {
return null;
}
}
また、TypeScriptではクラスメソッドにArray Function Expressionを使用することができません。 例えば..:
class C {
private _name:string;
get name():string => this._name;
}
インターフェース定義でゲッターとセッターを使用する方法は他にありますか?
どのように解決するのですか?
インターフェイス上でプロパティを指定することはできますが、このようにゲッターとセッターを使用するかどうかを強制することはできません。
interface IExample {
Name: string;
}
class Example implements IExample {
private _name: string = "Bob";
public get Name() {
return this._name;
}
public set Name(value) {
this._name = value;
}
}
var example = new Example();
alert(example.Name);
この例では、インターフェイスはクラスがゲッターとセッターを使うことを強制していないので、代わりにプロパティを使うことができました(下の例)。
interface IExample {
Name: string;
}
class Example implements IExample {
// this satisfies the interface just the same
public Name: string = "Bob";
}
var example = new Example();
alert(example.Name);
そして最後に
=>
はクラスメソッドには使えません。
でのディスカッションを開始します。
で議論を始めてください。以下はその例です。
class Test {
// Yes
getName = () => 'Steve';
// No
getName() => 'Steve';
// No
get name() => 'Steve';
}
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン