TypeScript コールバック型の定義 質問する

TypeScript コールバック型の定義 質問する

TypeScript で次のクラスを作成しました:

class CallbackTest
{
    public myCallback;

    public doWork(): void
    {
        //doing some work...
        this.myCallback(); //calling callback
    }
}

私は次のようにクラスを使用しています:

var test = new CallbackTest();
test.myCallback = () => alert("done");
test.doWork();

コードは機能し、期待どおりにメッセージ ボックスが表示されます。

私の質問は、クラス フィールドに提供できる型はありますかmyCallback? 現在、パブリック フィールドは上記のmyCallback型です。コールバックのメソッド シグネチャを定義するにはどうすればよいでしょうか? または、型を何らかのコールバック型に設定するだけでよいのでしょうか? または、どちらも実行できないのでしょうか? (暗黙的/明示的)anyを使用する必要がありますか?any

次のようなことを試しましたが、うまくいきませんでした (コンパイル時エラー):

public myCallback: ();
// or:
public myCallback: function;

これについての説明はオンラインでは見つかりませんでしたので、助けていただければ幸いです。

ベストアンサー1

TypeScript 言語仕様で何かを見つけましたが、かなり簡単です。かなり近かったです。

構文は次のとおりです。

public myCallback: (name: type) => returntype;

私の例では、

class CallbackTest
{
    public myCallback: () => void;

    public doWork(): void
    {
        //doing some work...
        this.myCallback(); //calling callback
    }
}

型エイリアスとして:

type MyCallback = (name: type) => returntype;

おすすめ記事