# Typescript - Using Class Types in Generics Source https://www.typescriptlang.org/docs/handbook/2/generics.html ## Example - The constructors of `ClassA` and `ClassB` both take string arguments during object creation - The function `getClassInstance` has two parameters, one is a string parameter for object creation. The other is the class type for the constructor ``` class ClassA { private myName: string; constructor(name: string){ this.myName = name; } public get name(): string { return this.myName; } } class ClassB { private myName: string; constructor(name: string){ this.myName = name; } public get name(): string { return this.myName; } public get currentDate(): Date { return new Date(); } } function getClassInstance <Type>(newName: string, classType: { new (name: string): Type }): Type { const classInstance = new classType(newName); return classInstance; } const classAInstance = getClassInstance('testA', ClassA) console.log(classAInstance.name); const classBInstance = getClassInstance('testB', ClassB) console.log(classBInstance.name); ``` ###### tags: `typescript` `generics`