我目前发现自己处于这样的情况:必须先传入一个对象,然后再在另一个对象中声明该对象。我到底该怎么做?下面是一个例子。这两个对象一起工作,但我不知道如何传递甚至不存在的东西。
class fooBar() {
this.alpha = new alpha(this.beta);
this.beta = new beta(this.alpha);
}
class alpha {
constructor(beta) {
this.beta = beta;
}
getName() {
return "alpha";
}
}
class beta {
constructor(alpha) {
this.alpha = alpha;
}
getName() {
return "beta";
}
}
最佳答案
您可以稍后再设置它们。例如:
class fooBar() {
this.alpha = new alpha();
this.beta = new beta();
this.alpha.setBeta(this.beta);
this.beta.setAlpha(this.alpha);
}
class alpha {
constructor(beta) {
if(beta) {
this.beta = beta;
}
}
getName() {
return "alpha";
}
setBeta(beta) {
this.beta = beta;
}
}
class beta {
constructor(alpha) {
if(alpha) {
this.alpha = alpha;
}
}
getName() {
return "beta";
}
setAlpha(alpha) {
this.alpha = alpha;
}
}
您不必通过这些方法名称来调用它们,但其想法只是等到调用每个构造函数后设置一些属性。
关于javascript - 在一个对象在另一个对象中声明之前传递该对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38165331/