いくつかの "生成された"プロトタイプメソッドをJavaScriptスクリプトに変換しています。生成されたメソッドは内部オブジェクトにマップされるため、APIはそのユースケースの80%でよりクリーンで便利です。ダイナミックプロトタイプメソッドをtypescriptに宣言する
しかし、どのタイプのメソッドが実際に実装されていないのかをタイプスクリプトに正しく伝える方法はありません。 error TS2339: Property 'test' does not exist on type 'A'
と
class A {}
A.prototype.test = function() {}
var a = new A().test();
このエラー私は手動でプロパティを定義することで、それを回避することができますように思えるが、それは自動的にこれらのメソッドをマッピングの有用性を妨げます。
class A {
test: any;
}
A.prototype.test = function() {}
var a = new A();
a.test();
私はまだtypescriptに精通していませんが、このようなことはしないでください。class A {} A.prototype.test = function(){console.log( 'test'); } var a = new A(); a.test(); – mwilson
新しいA()をかっこで囲む方が良いでしょうが、このデモの目的では影響はありません。 – helion3
右。しかし、 'A'を新しいクラスとしてインスタンス化すると、' .test() 'にはまだアクセスできません。あなたは 'var a = new A();'を実行しなければならないので、 'a.test()'にアクセスできます...しかし、私はこの問題を誤解しているかもしれません。 – mwilson