Javascript 根据TypeScript中另一个对象的类型创建对象

Javascript 根据TypeScript中另一个对象的类型创建对象,javascript,typescript,Javascript,Typescript,如何基于TypeScript中另一个对象的类型创建对象 obj1=新对象() obj2=new“obj1.constructor.name” 我必须这样做,因为对象1可以有不同的类。如果您尝试执行以下操作,typescript编译器会抱怨: new obj1.constructor() 但是你可以告诉它,它是这样的: class A {} class B extends A {} type AConstructor = { new(): A; } type BConstructo

如何基于TypeScript中另一个对象的类型创建对象

obj1=新对象()

obj2=new“obj1.constructor.name”


我必须这样做,因为
对象1
可以有不同的类。

如果您尝试执行以下操作,typescript编译器会抱怨:

new obj1.constructor()
但是你可以告诉它,它是这样的:

class A {}

class B extends A {}

type AConstructor = {
    new(): A;
}

type BConstructor = {
    new(): B;
}

let a1 = new A();
let a2 = new (a1.constructor as AConstructor)();

let b1 = new B();
let b2 = new (b1.constructor as BConstructor)();

()

如果您尝试执行以下操作,typescript编译器将投诉:

new obj1.constructor()
但是你可以告诉它,它是这样的:

class A {}

class B extends A {}

type AConstructor = {
    new(): A;
}

type BConstructor = {
    new(): B;
}

let a1 = new A();
let a2 = new (a1.constructor as AConstructor)();

let b1 = new B();
let b2 = new (b1.constructor as BConstructor)();

()

新的obj1.constructor()
应该可以工作。顺便说一句,这与TypeScript无关。当我使用obj1.constructor时,我遇到了以下错误:“不能将'new'与类型缺少调用或构造签名的表达式一起使用。”“您能添加更多信息吗?你到底想要什么还不清楚。是否要从另一个类继承/扩展?
new obj1.constructor()
应该可以工作。顺便说一句,这与TypeScript无关。当我使用obj1.constructor时,我遇到了以下错误:“不能将'new'与类型缺少调用或构造签名的表达式一起使用。”“您能添加更多信息吗?你到底想要什么还不清楚。是否要从另一个类继承/扩展?