代码之家  ›  专栏  ›  技术社区  ›  ZirkoViter

如何解释这些类型脚本声明中的[p in keyof T]和T[p]?

  •  5
  • ZirkoViter  · 技术社区  · 8 年前

    我正在读书 ngrx公司 然后偶然发现了这样一个代码。做什么 [p in keyof T] T[p]

    export type ActionReducerMap<T, V extends Action = Action> = {
      [p in keyof T]: ActionReducer<T[p], V>
    };
    
    1 回复  |  直到 8 年前
        1
  •  13
  •   CRice    8 年前

    这是一个映射类型。你可以在typescript文档中阅读它们 here ,或在此 blog post .

    基本上,语法 [p in keyof T] 就是这个意思; p 是对象的键之一 T . 然后 T[p] 只表示该键的值的类型。阅读这两个链接以获得更有力的解释。