具有多种类型的键的TypeScript映射

时间:2018-03-12 05:30:21

标签: typescript typescript-typings

如何在typescript中声明一个键,其中键可以是一个字符串|数字和值可以是例如数字。

我尝试以下操作并收到错误

let aMap : { [key: string | number]: number } = {}

我在VS Code

中收到以下错误
  

[ts]索引签名参数类型必须是' string'或者'数字'。

注意:我不想使用关键字" Map"在打字稿中。正如宣布:

let aMap : { [key: string]: number } = {} 工作得很好,我只是在创建使用多种密钥类型的地图时出现问题

1 个答案:

答案 0 :(得分:1)

啊,我终于找出了导致它的原因。我无法在网上找到这个,这很奇怪。您可以使用以下语法:

const testmap: {
  [key: number]: number;
  [key: string]: number;
} = {};