2013-05-16 7 views
6

Qualcuno può dirmi che cosa il"[index: stringa]": IFoo notazione a macchina

[index : string] : IFoo significa in

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

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

ho guardato attraverso il libro tipografico rivelato e trovato nulla su quella notazione. Dovrebbe essere una raccolta di oggetti che implementano IFoo? Grazie.

risposta

8

Viene utilizzato per mostrare il tipo di risultato quando viene indicizzata un'istanza dell'interfaccia. Quando gli elementi di tipo IBar sono indicizzati da una stringa i.e [someString] il risultato sarà di tipo IFoo. es:

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'] 

Più: http://blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx Goto voce "Descrivendo un oggetto indicizzabile"

Problemi correlati