現在、TypeScript のクラスにインデクサーを実装することは可能ですか?
class MyCollection {
[name: string]: MyType;
}
これはコンパイルされません。もちろん、インターフェイスでインデクサーを指定できますが、この型とインデクサーのメソッドが必要なので、インターフェイスでは不十分です。
ありがとう。
現在、TypeScript のクラスにインデクサーを実装することは可能ですか?
class MyCollection {
[name: string]: MyType;
}
これはコンパイルされません。もちろん、インターフェイスでインデクサーを指定できますが、この型とインデクサーのメソッドが必要なので、インターフェイスでは不十分です。
ありがとう。
インデクサーを使用してクラスを実装することはできません。インターフェイスを作成できますが、そのインターフェイスをクラスで実装することはできません。これはプレーンな JavaScript で実装でき、インターフェイスで関数とインデクサーを指定できます。
class MyType {
constructor(public someVal: string) {
}
}
interface MyCollection {
[name: string]: MyType;
}
var collection: MyCollection = {};
collection['First'] = new MyType('Val');
collection['Second'] = new MyType('Another');
var a = collection['First'];
alert(a.someVal);