循环类型的Typescript语法--让type types=typeof myObject[number]

循环类型的Typescript语法--让type types=typeof myObject[number],typescript,syntax,redux,Typescript,Syntax,Redux,很难找到信息,因为我不知道这叫什么,只能从上下文判断它在做什么。它在下面的这个例子中使用 特别是最后一行编号在中未定义,但它似乎在数组中循环返回操作。这基本上等同于做什么 export type TodosAction = ActionType1 | ActionType2 | ... 你会怎么称呼这种类型的语法(这样我可以阅读更多内容)我也对这种语法感兴趣。这就是你所说的查找类型。最好在Typescript 2.1的公告博客中对此进行解释 在你的例子中,如果我们明确地写出类型,事情会更容易

很难找到信息,因为我不知道这叫什么,只能从上下文判断它在做什么。它在下面的这个例子中使用

特别是最后一行<代码>编号在中未定义,但它似乎在数组中循环
返回操作
。这基本上等同于做什么

export type TodosAction = ActionType1 | ActionType2 | ...

你会怎么称呼这种类型的语法(这样我可以阅读更多内容)

我也对这种语法感兴趣。这就是你所说的查找类型。最好在Typescript 2.1的公告博客中对此进行解释

在你的例子中,如果我们明确地写出类型,事情会更容易理解

  • 写出字型

    interface Actions {
      [index: number] = ActionType1 | ActionType2
    }
    
  • 这里的显式类型声明

    const returnsOfActions: Actions = Object.values(actions).map($call);
    
  • 这意味着要得到按数字索引的类型。哪个 在我们的例子中是
    ActionType1 | ActionType2

    export type TodosAction = typeof returnsOfActions[number];
    

number
也是一种类型,它表示“数字索引将从该数组中获得的类型”。
export type TodosAction = typeof returnsOfActions[number];