Brug af klassetyper i generics i TypeScript

Som en generisk type kan du også bruge klasser. Du skal blot angive klassens type ved hjælp af dens konstruktør. Derfor skal vi i stedet for parameteren type:T angive type: {new(): T;}. Lad os oprette en funktion, som til gengæld vil oprette en ny bruger fra klassen User:

typescriptfunction getUser <T> (type: { new (): T; }): T {
  return new type();
}

class User {
  constructor() {
    console.log('You create a new user!');
  }
}

let user: User = getUser(User);

Resultatet af udført kode:

typescript'You create a new user!'