[英]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.