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

泛型中的类和TypeScript中的文本

  •  0
  • Pavel_K  · 技术社区  · 6 年前

    在Java中,我们可以执行以下操作:

    Map<Class<?>, Integer> countsByClass;
    ...
    countsByClass.put(String.class, 1);
    

    let countsByClass: Map<???, Number>;
    ...
    countsByClass.put(???, 1);
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Jeto    6 年前

    应通过以下步骤:

    class Foo {}
    
    let countsByClass: Map<new (...args: any[]) => any, number> = new Map();
    countsByClass.set(Foo, 5);
    
    console.log(countsByClass.get(Foo));
    

    Class 类型:

    type Class<T = any> = new (...args: any[]) => T;
    

    Map 申报变得更干净:

    let countsByClass: Map<Class, number> = new Map();
    

    Stackblitz demo

        2
  •  0
  •   Giovanni    6 年前

    我想你的意思是给一个类指定一个泛型类型。当然,如果需要的话,您可以提供多种类型。

    class Map<T, U> { }
    

    如果我错了,请纠正我。