1

jQuery UI ウィジェットを操作する場合、多くの場合、次のパターンに従う結果になります。

$("#someId").someWidget("オプション", "someOption", 値);

この相互作用をモデル化して、TypeScript から有用な型チェックを取得する良い方法はありますか? 技術的には、おそらく次のように定義されたメソッドがあります。

someWidget (optionLiteral: 文字列、optionName: 文字列、optionValue: 任意): JQuery;

(提供された jQuery UI タイプ定義に基づいてモデル化)

したがって、オプション名に関係なく、オプション値は基本的に「任意」です。型定義をさらにオーバーロードして、optionName でパターン マッチングを行う方法はありますか? または、その予定はありますか?

4

1 に答える 1

3

jQuery UI の例を掘り下げたいと思うかもしれません。

http://www.typescriptlang.org/Samples/#Warship

これは、追加のメソッドを使用して jQuery インターフェイス タイプを拡張する方法をカバーしています。

jQuery 型はインターフェイス型であり、インターフェイス型は TypeScript で開かれています。つまり、後のコンパイル ユニットで型にメンバーを追加できます。あなたの例は次のように書かれます、

interface JQuery {
    someWidget(optionLiteral: string, optionName: string, optionValue: any): JQuery
}

オーバーロードに関しては、メソッドは型ではオーバーロードできますが、値ではオーバーロードできません。CodePlex サイトでは、値をオーバーロードすることをお勧めします。

于 2012-10-01T20:21:53.363 に答える