2015-03-13 14 views
11

Arabirimin dize dizinini kullanmak istiyorum.Dizin dizinli arayüzünü nasıl kullanılır?

interface IDictionary { 
    [index: string]: string; 
} 
var params: IDictionary; 
params = [{ "heart": "HP" }, { "mana": "MP" }]; 
console.log(params); 

Bunun bir çift anahtar ve değer gibi MAP gibi olabileceğini düşündüm. Bunun doğru bir yaklaşım olduğundan emin değilim.

cevap

10

Dizin sözdizimini kullanarak nesne için nelerin getirilebileceğini veya getirilebileceğini sınırlayıcı sınırları kullanarak. Örneğin. foo tip string olması anlaşılmaktadır: '

interface IDictionary { 
    [index: string]: string; 
} 
var params = {} as IDictionary; 

params['heart'] = 'HP'; // okay 
var foo = params['heart']; // foo:string 


var bar:number = params['heart']; // ERROR 
params['heart'] = 234; // ERROR 
+4

Don:

var bar:number = params['heart']; // ERROR params['heart'] = 234; // ERROR 

Komple demo:

interface IDictionary { [index: string]: string; } var params = {} as IDictionary; params['heart'] = 'HP'; // okay var foo = params['heart']; // foo:string 

diğer taraftan aşağıdakileri kontrol o tip olmayacak şekilde bir hatadır Paramları başlatmanız gerektiğini unutma .. 'params = {};' – mjohnsonengr

İlgili konular