私はちょうどからの例のいくつかを見てきました
https://github.com/borisyankov/DefinitelyTyped
そして、そこにあるライブラリのいくつかは、思ったほど簡単に入手して使用できないことに気づきましたが、これはおそらく、私がまだTypeScriptショーの初心者であるためです。
だから私を最初に驚かせたのは(ここでの例としてノックアウトを使用して)、モジュールには含まれていません。これはおそらく大きな問題ではないと思いますが、おそらく誰がそれを作ったのかという設計上の決定ですが、自己完結型であり、名前空間の下に他のプラグインを含めるのが簡単なため、(おそらく他の言語よりも多くのC#を実行する傾向があるため)より理にかなっています。
i.e Knockout.ObservableString();
とにかく、2番目のポイントは、通常、次のようなことを行うように、実際のシナリオでこれらの実装を使用する方法についてです。
function SomeClass() {
var self = this;
self.SomeObservable = ko.observable("default-value");
}
今、私はこのようなことをすることを期待していました:
/// The Ref
interface ISomeClass {
SomeObservable: KnockoutObservableString;
}
class SomeClass implements ISomeClass {
// What goes here?
}
ここで、POJO(今はPOTOと呼ばれるべきだと思います)をインターフェイスにして実装する論理的な理由があると少しの間ふりをします。通常は、動作が0の何かにインターフェイスを配置する必要はありません。
上記の例では、インターフェイスがあるのでインターフェイスは問題ありKnockoutObservableString
ませんが、実装が見つからなかったので、そのインターフェイスを使用するつもりはありませんか、それとも独自の実装を作成する必要がありますか?
私は誰かと一緒に私をその方向に向けて答えることができます:
A) Why it wasn't written as a module?
B) How do you actually use the descriptors properly?