2017-10-26 5 views
0

私は活字を開始していると私は、オブジェクトのこのタイプのためのインターフェイスを宣言する方法を知りたい:Typescriptオブジェクトパターン?

const branch = { 
    'CN': { 
    'name': 'CN Name', 
    'branch': 'Chinoise', 
    'url': 'CN URL' 
    }, 
    'DE': { 
    'name': 'DE Name', 
    'branch': 'Allemande', 
    'discord': 'DE Discord', 
    'url': 'DE URL' 
    }, 
    'EN': { 
    'name': 'EN Name', 
    'branch': 'Anglaise', 
    'url': 'EN URL' 
    }, 
    [...] 
} 

あなたが見ることができるように、私は、このインターフェイス持って:繰り返し

interface Branch { 
    name: string, 
    branch: string, 
    discord?: string, 
    url: string 
} 

を上記のコードで何回か。 だから、TypeScriptに「こんにちは、ブランチオブジェクトに何度も繰り返すこのインターフェイスが含まれている」と言うことができるかどうかを知りたかったのです。

ありがとうございます!

答えて

2

あなたはこのようにそれを行うことができます。

const branch: {[key: string]: Branch} = ...; 

分岐変数は、キーが文字列型で、値タイプBranchであるオブジェクトであることを意味しています。インデックス署名の

公式ドキュメント:https://www.typescriptlang.org/docs/handbook/interfaces.html

+0

動作しているようですが、私は、構文見たことがない:前に[キー列]を。これのためのリンクがありませんか? – HelloEdit

+0

答えを更新しました。インデックス可能なタイプまでスクロールします – guramidev