[英]How do I instantiate a javascript object from class reference?
我希望能夠從對類的引用中實例化javascript(打字稿)中的對象。 例如,我希望能夠使用這樣的某種工廠功能,但是我不知道如何實現此結果。
class A {
constructor() { this.b = 'somevalue'; }
}
const factory = (klass: Function) => {
return new klass();
}
const instanceOfA = factory(A);
這個例子相當人為,但是有辦法嗎? 當前的錯誤表明klass is not a constructor
。 另外,如果有從類參考實例化事物的更慣用的方法,我很想聽聽。 謝謝!
Function
只是錯誤的類型,請使用構造函數類型(這也有助於推斷正確的返回類型):
function factory<T>(klass: { new(): T }): T {
return new klass();
}
或作為const
分配給:
const factory = <T>(klass: { new(): T }) => {
return new klass();
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.