gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:17:27 25 4
gpt4 key购买 nike

如何在 TypeScript 中根据另一个对象的类型创建一个对象

obj1 = new Object();

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)();

( code in playground )

关于javascript - 根据 TypeScript 中另一个对象的类型创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com