Användning av klassTyper i generics i TypeScript

Som generisk typ kan man även använda klasser. Men man måste ange klassens typ genom dess konstruktor. Därför istället för parametern type:T måste vi ange type: {new(): T;}. Låt oss skapa en funktion som i sin tur skapar en ny användare från 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 av den utförda koden:

typescript'You create a new user!'