打字稿索引联合类型

时间:2015-02-10 23:18:46

标签: javascript typescript typescript1.4

我正在处理打字稿,我有一个带有字符串和数字引用的字段的对象。我知道它是否仅通过字符串索引我可以使用

指定类型

var object: {[index: string]: number}

有没有办法让索引成为字符串或数字?我没试过var object: {[index: string|number]: number}

1 个答案:

答案 0 :(得分:2)

以下在TypeScript游乐场中有效...基本上,这是您之后的行为(因此您不需要使用联合类型)。

var object: {[index: string]: number};

// Allowed
object[0] = 1;
object['idx'] = 2;

// Not allowed
object[1] = 'string';
object['other'] = 'string';

// Types inferred as number
var a = object[0];
var b = object['idx'];