TypeScript は、 を使用するときのように、 を使用するときにプロパティの存在をチェックしませhash[key]
んhash.myKey
。したがって、設計時およびコンパイル時のチェックを取得するには、この情報を公開する方法を変更して、コードがドット プロパティ構文を使用できるようにする必要があります...
したがって、代わりに:
class Test {
get(key: string) :string{
var hash = {'some-key': 1, 'some-other-key': 3};
return hash[key];
}
}
var test = new Test();
test.get('myKey');
あなたは公開することができます:
class Test {
public hash = { someKey: 1, someOtherKey: 3};
}
var test = new Test();
test.hash.myKey; // you'll get a warning here
これは、この設計が実行している内容に適している場合にのみ機能しますが、TypeScript が匿名型を作成し、hash
既知のプロパティのみが使用されるようにするため、この方法で警告が表示されます。
更新: フィードバックに基づいて例を更新しました。を使用するとドット表記を使用'some-key'
できなくなりますが (可能な場合はハイフンを削除する価値があります)、それでもコード補完が得られることに注意してください。