您如何获取JavaScript中所有班级孩子的列表?

时间:2018-12-01 10:48:32

标签: javascript class inheritance

我有很多课程,但是对于这个问题,我将简化一下。

class A {

}

class B extends A {

}

class C extends A {

}

class D extends C {

}

现在我的问题是:如何获得班级(全部,不仅是直接)孩子的名单?因此,A.getChildren()将是[B, C, D],而C.getChildren()将是[D]。顺便说一句,我只是在寻找纯JavaScript解决方案。

也许这甚至是不可能的,我需要以一种完全不同的方式来解决这个问题,例如在其父类中注册每个类。

那么,有没有一个简单的函数(编写的或只是内置的)可以做到这一点,如果甚至不可能,我应该以其他方式解决此问题吗?

1 个答案:

答案 0 :(得分:3)

如果您可以控制A的构造函数 ,并且如果每个类至少实例化一次,则可以在构造函数中放置一行以将子类添加到{ {1}}:

Set