2013-05-16 26 views
6
yılında IFoo notasyonu

birisi"[endeksi: dize]": daktilo

[index : string] : IFoo Ben typescript Açığa baktı kitap ve bu gösterimdeki hiçbir şey bulduk

export interface IBar { 
    [index : string] : IFoo; 
} 

export interface IFoo { 
     CharacterName: string; 
     DisplayName: string; 
    } 

ne anlama geldiğini bana söyleyebilir misiniz. IFoo'yu uygulayan nesnelerin bir koleksiyonu olması mı gerekiyor? Teşekkürler.

cevap

8

Arabirimin bir örneği endekslendiğinde sonucun türünü göstermek için kullanılır. IBar türündeki elemanlar bir dize ile [someString] dizinlendiğinde, sonuç IFoo türünde olacaktır. örn:

export interface IBar { 
    [index : string] : IFoo; 
} 

export interface IFoo { 
     CharacterName: string; 
     DisplayName: string; 
    } 


var x:IBar; 
var y=x['asdf']; // Same as var y:IFoo = x['asdf'] 

Daha: http://blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx Goto

"bir Endekslenebilir Object nitelendiren" başlığı