构造函数类型

在 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:这表示构造函数接受两个参数 nameage,并返回一个 Person 类的实例。

使用构造函数类型

ts 复制代码
// 声明一个变量,其类型为 PersonConstructor 
let createPerson: PersonConstructor; 
// 赋值为 Person 类的构造函数 
createPerson = Person; 
// 使用构造函数创建 Person 实例 
const person = new createPerson('John', 30); 
console.log(person); // 输出: Person { name: 'John', age: 30 }
相关推荐
阿蒙Amon5 小时前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
VT.馒头10 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
AAA阿giao18 小时前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
hedley(●'◡'●)19 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
百锦再19 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
小杨同学呀呀呀呀20 小时前
Ant Design Vue <a-timeline>时间轴组件失效解决方案
前端·javascript·vue.js·typescript·anti-design-vue
VT.馒头1 天前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
guangzan1 天前
为博客园注入现代 UI 体验:shadcn 皮肤上线
typescript·tailwindcss·shadcn ui·tona
VT.馒头2 天前
【力扣】2722. 根据 ID 合并两个数组
javascript·算法·leetcode·职场和发展·typescript
阿蒙Amon2 天前
TypeScript学习-第13章:实战与最佳实践
javascript·学习·typescript