typescript 参数为类时的参数问题

我定义了一个抽象类
我多个子类去实现抽象类的抽象方法

export abstract class Base {
    doSomeThing() {

    }
    abstract beforeDo():void;
}
class work extends Base {
    beforeDo() {
        console.log('work')
    }
}
class study extends Base {
    beforeDo() {
        console.log('study')
    }    
}
function dd(doo: Base) {
    new doo();
}

但是我这样去new 是要报错的,请教一下怎么处理这个问题### 题目描述

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.3k
2 个回答
function dd<T extends Base> (doo: { new(): T }) {
  const x = new doo()
}

估计你想要的应该是这个

抽象类是不能实例化的,可以这样

export class Base {
    doSomeThing() {

    }
    beforeDo(){throw new Error('error')}
}

还有,你的参数声明类型是错的,应该是typeof Base

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进