1

既存の FixedTyped jquery.d.ts 宣言を使用すると、これを行うことができません。

/// <reference path="../Scripts/typings/jquery/jquery.d.ts" />
declare var firstEvent;
var newEvent = new jQuery.Event(firstEvent);

しかし、それはコンパイラエラーを生成します:

testing.ts(3,19): new expression only valid on constructors

jquery.d.ts によると、jQuery.Event は型ではなく関数として定義されているため、これは理にかなっています。

私は任意のキャストでそれを強制することができます:

/// <reference path="../Scripts/typings/jquery/jquery.d.ts" />
declare var firstEvent;
var newEvent = new <any>jQuery.Event(firstEvent);

しかし、スレッジハンマーは気分が悪いだけです。

これは TypeScript 宣言の制限ですか、それとも jquery.d.ts の定義の制限ですか?

4

1 に答える 1