2016-07-05 4 views
1

オブジェクト/ディクショナリの値をmyDictionary.SOME_VALUEと参照したいと考えています。これは、すべてのプロパティ値をあらかじめリストしているオブジェクトの型を指定する必要がない方法で行うことができますか?これは、文字列のキーを持つ辞書であれば例えば、私は構文はTypeScriptオブジェクト内の任意の引用符なしのプロパティ名の型?

var myDictionary : {[id:string]:number} = {'a':1, 'b':2} 

であることを知っていることは、私は、任意の引用符で囲まれていないため、以下の

var myDictionary = {a:1, b:2} 

を行うことができますタイプを定義する方法はあります明示的なインタフェース/型定義(例:type myDictType = {a:number, b:number})を必要とせずに、プロパティ名を使用できますか?

答えて

2
var myDictionary : {[id:string]:number} = {a:1, b:2} compiles just fine. 

しかし

myDictionary.aあなたは、動的キーを使用しているようtypescriptですクリエーターが本当にへの辞書のアクセスを望んでいたので、しません。

残念なことに、ブラケット表記なしで任意のプロパティにアクセスできる唯一のタイプはanyです。

+0

注:レコードがより正確なキーセットを持つことを意図していたとしても、TS 2.1ではレコード<文字列、数値>を使用することもできます。 – AlexG

関連する問題