2013-05-16 27 views
6

Có thể ai đó xin vui lòng cho tôi biết những gì"[index: string]": ký hiệu IFoo trong nguyên cảo

[index : string] : IFoo nghĩa trong

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

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

Tôi nhìn qua cuốn sách nguyên cảo Revealed và thấy không có gì trên ký hiệu đó. Nó có phải là một tập hợp các đối tượng thực hiện IFoo không? Cảm ơn.

Trả lời

8

Nó được sử dụng để hiển thị loại kết quả khi một thể hiện của giao diện được lập chỉ mục. Khi các phần tử của loại IBar được lập chỉ mục bằng một chuỗi, tức là kết quả là loại IFoo, có nghĩa là kết quả là loại IFoo. ví dụ:

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

thêm: http://blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx Chuyển hướng "Việc mô tả một đối tượng thể lập chỉ mục"

Các vấn đề liên quan