Javascript ES2015:Instanciate一个类并使用类中的变量

时间:2018-03-11 08:05:55

标签: javascript class oop

我有一个B类,它实现了另一个A类。

在A类中,我需要使用B类中定义的变量

class  classA {
    methodA() {
        console.log(parentClass.variableToRetrieve);
    }
}


class classB {
    constructor() {
        this.variableToRetrieve = 1;
        this.A = new classA();
    }
}

var B = new classB();
B.A.methodA();

我应该在classA.methodA中使用什么,并在控制台中看到1?

修改

我已经想要在classA构造函数中传递B对象,或传递值,但由于我可以拥有数百个变量和(可能)数百万个classA,因此它会快速操作服务器

2 个答案:

答案 0 :(得分:1)

您应该使用classA

扩展classB

class  classA {

    methodA() {
        console.log('parentClass.variableToRetrieve');
    }

}

class classB extends classA {
    constructor() {
        super()
        this.variableToRetrieve = 1;
    }

    method() {
        this.A = new classA();
    }

}
var B = new classB();
B.methodA();

<强>更新 我认为绑定classB会解决问题。

class  classA {
    methodA() {
        console.log(this.variableToRetrieve);
    }
}


class classB {
    constructor() {
        this.variableToRetrieve = 4;
    }
}

var B = new classB();
var A = new classA();
A.methodA.bind(B)();

答案 1 :(得分:0)

你的A班必须扩展班级B才能做到这一点