在 TypeScript 中,可以单独声明构造函数的类型。构造函数类型通常用于描述如何创建类的实例,可以使用 new
关键字来定义构造函数的类型。
定义构造函数类型
ts
// 定义一个构造函数类型
type PersonConstructor = { new (name: string, age: number): Person; };
// 定义 Person 类
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
new (name: string, age: number): Person
:这表示构造函数接受两个参数name
和age
,并返回一个Person
类的实例。
使用构造函数类型
ts
// 声明一个变量,其类型为 PersonConstructor
let createPerson: PersonConstructor;
// 赋值为 Person 类的构造函数
createPerson = Person;
// 使用构造函数创建 Person 实例
const person = new createPerson('John', 30);
console.log(person); // 输出: Person { name: 'John', age: 30 }