在 TypeScript 中,可以單獨宣告建構函式的型別。建構函式型別通常用於描述如何建立類的例項,可以使用 new
關鍵字來定義建構函式的型別。
定義建構函式型別
// 定義一個建構函式型別 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
類的例項。
使用建構函式型別
// 宣告一個變數,其型別為 PersonConstructor let createPerson: PersonConstructor; // 賦值為 Person 類的建構函式 createPerson = Person; // 使用建構函式建立 Person 例項 const person = new createPerson('John', 30); console.log(person); // 輸出: Person { name: 'John', age: 30 }
作者:新星_
連結:https://juejin.cn/post/7437042965116502056