我刚才在打字稿中偶然发现了下面的语法

export interface OrderPool {
    [id: string]: Level3Order;
}

有人能澄清一下我在看什么吗?
我能理解的是,这是一个接口OrderPool,它包含一个名为id的string(array?)类型和Level3Order类型的属性????
Level3Order与属性id的关系是什么?id是数组还是单个实例?

最佳答案

这意味着实现接口orderpool的对象包含键/值对,其中键(在本例中称为id)的类型为string,值的类型为level3order
例如,此对象正确实现接口:

{
  'item1': new Level3Order,
  'anotherItem': new Level3Order
}

你也可以
export interface OrderPool {
  [id: number]: Level3Order;
}

例子:
{
  1: new Level3Order(),
  5: new Level3Order()
}

09-19 19:51