gpt4 book ai didi

javascript - 你如何获得 JavaScript 中所有类子级的列表?

转载 作者:行者123 更新时间:2023-11-29 18:46:26 25 4
gpt4 key购买 nike

我有很多类,但是对于这个问题,我会稍微简化一下。

class A {

}

class B extends A {

}

class C extends A {

}

class D extends C {

}

现在我的问题是:您如何获得一个类(class)的(所有,不仅是直接的) child 的列表?因此,A.getChildren() 将是 [B, C, D]C.getChildren() 将是 [D ]。顺便说一下,我只是在寻找纯 JavaScript 解决方案。

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

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

最佳答案

如果您可以控制 A 的构造函数并且如果每个类都至少实例化一次,那么您可以在构造函数中添加一行来添加子类到 Set:

const classes = new Set();
class A {
constructor() {
classes.add(this.constructor);
}
}

class B extends A {

}

class C extends A {

}

class D extends C {

}
new B();
new B();
new C();
new D();
console.log([...classes]);

关于javascript - 你如何获得 JavaScript 中所有类子级的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53570033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com