Javascript es6扩展已定义的类

Javascript es6扩展已定义的类,javascript,ecmascript-6,subclass,Javascript,Ecmascript 6,Subclass,我有一个Base类作为 class Base { constructor() { console.log('should get called') } } class Target { someFn() { // does something } } 和目标类作为 class Base { constructor() { console.log('should get called') } }

我有一个
Base
类作为

class Base {
    constructor() {
        console.log('should get called')
    }
}
class Target {
    someFn() {
        // does something
    }
}
目标
类作为

class Base {
    constructor() {
        console.log('should get called')
    }
}
class Target {
    someFn() {
        // does something
    }
}
我想在其定义后使
目标
扩展
基础
。我的意思是,我知道我可以简单地做到以下几点

class Target extends Base { ... }
但是,我仍然希望能够在定义了
Target
后使用
Base
扩展
Target

我尝试了几种方法,但并不完全满意。可能吗

我可以做
类基扩展目标{}
,但是它不再是同一个类了


我的基本目标是,;我想将
构造函数添加到一个类中(我知道我做不到),以便找出一些方法。

通过设置子类的原型,可以使现有类从另一个类“继承”。听起来有点复杂,所以这里是所有需要的:

class Base {}
class Child {}

Object.setPrototypeOf(Child.prototype, Base.prototype)
然而,这里有一个问题:
的实现不是为了从另一个类继承而设计的-例如,如果
构造函数正在做一些重要的工作(很多时候父构造函数会做一些初始化步骤)这将不会被称为,这意味着,你可能会遇到各种各样的错误

在您描述的上下文中,没有可行的解决方案以编程方式扩展类并确保调用父类的构造函数。这是因为无法“修补”子类的构造函数以实际调用父类的构造函数


您可能会试图覆盖
Child.prototype.constructor
属性并在那里对其进行修补,但问题是这不是执行
新建Child()时所称的,这是
子函数本身-构造函数属性在这个过程中不起作用。

为什么需要它?哈哈,好问题。。。实际上我不知道…:好的,我会解释,我想用一些方法定义很多类,每个类返回一些计算的结果。数据(这些公式将在其上运行)将传递到构造函数中(我想在其中预处理它)。。。所以我只想用公式方法保持公式类的干净,并在我的decorator函数或基类中执行所有其他操作。。。有意义吗?您的评论没有解释为什么要动态更改原型。它甚至不能解释你为什么需要继承。不,不行。。。我在上面的评论中解释过。根据您的更新进行更新。不幸的是,我看不到一个办法使这项工作。对不起,很难过。。。无论如何,谢谢你。