首页 > 解决方案 > 如何声明扩展某个类的类型字段?

问题描述

考虑以下:

class Base{
}

class A extends Base{
}

class B {
}

现在我想将实现(类型)Base包装到对象中

interface MyImpl{
   name:string;
   impl:any;
}

如何 delcareimpl而不是any使以下内容{name:"Aname", impl: A}有效而{name:"Bname",impl:B}无效?

标签: typescript

解决方案


interface MyImpl {
   name: string;
   impl: typeof Base;
}

这样,Base任何扩展它的类都可以分配给impl.


推荐阅读