Arrays 如何使用typescript的字符串索引接口?

Arrays 如何使用typescript的字符串索引接口?,arrays,interface,typescript,Arrays,Interface,Typescript,我想使用接口的字符串索引 interface IDictionary { [index: string]: string; } var params: IDictionary; params = [{ "heart": "HP" }, { "mana": "MP" }]; console.log(params); 我认为这可能像一对键和值这样的映射。我不确定这是正确的方法 使用索引器可以限制使用索引语法为对象放置或获取的内容。例如,foo被推断为类型string: interface

我想使用接口的字符串索引

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

我认为这可能像一对键和值这样的映射。我不确定这是正确的方法

使用索引器可以限制使用索引语法为对象放置或获取的内容。例如,
foo
被推断为类型
string

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
完整演示:

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

不要忘记您需要初始化参数<代码>参数={}