Bruk av klassettyper i generics i TypeScript

Som generisk type kan du også bruke klasser. Du må bare angi typen av klassen ved hjelp av dens konstruktør. Derfor i stedet for parameteren type:T må vi angi type: {new(): T;}. La oss lage en funksjon som i sin tur vil opprette en ny bruker 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);

Resultat av utført kode:

typescript'You create a new user!'