类型不允许我创建实例

问题描述 投票:0回答:1

一段时间有问题

让我们来这个:

export abstract class abstractClass {
    abstract thing(): string
}

export class c1 extends abstractClass {
    thing(): string {
        return "hello"
    }
}

export class c2 extends abstractClass {
    thing(): string {
        return "world"
    }
}

export interface simpleInter {
    el: typeof abstractClass
}

const cls: simpleInter[] = [];
cls.push({
    el: c1
},{
    el: c2
})

for (const classObj of cls) {
    const c = new (classObj.el)() // error: Cannot create an instance of an abstract class. ts(2511)
    console.log(c.thing())
}

我似乎无法回答的是如何使编译器理解我想要作为扩展我的abstractClass的类型类>

我有一段时间了,让我们来解决这个问题:导出抽象类abstractClass {abstract something():string}导出类c1扩展了abstractClass {something():string {return“ ...

typescript class interface abstract typeof
1个回答
0
投票
到目前为止,我无法理解您想动态地说明您的观点。所以在这里我可以参考:Dynamic instantiation in JavaScript

对于自动完成,您可以稍后将其投射到所需的对象。

© www.soinside.com 2019 - 2024. All rights reserved.