我正在处理打字稿,我有一个带有字符串和数字引用的字段的对象。我知道它是否仅通过字符串索引我可以使用
指定类型 var object: {[index: string]: number}
有没有办法让索引成为字符串或数字?我没试过var object: {[index: string|number]: number}
。
答案 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'];