3
class MyClass {
constructor() {
this.myMethod = this.myMethod.bind(this);
// ... some more code
// return what?
}
myMethod() {
this.myMethod2();
// do stuff ...
}
myMethod2() {
// do stuff 2 ...
}
}
然後,我會做這樣的事情
let obj = new MyClass();
而我想要做的就是從obj
obj.myMethod();
訪問myMethod
顯然,如果myMethod
在其代碼中調用其他MyClass
方法(如myMethod2
),我希望一切按預期工作。所以我假設構造函數應該返回某種對象幷包含它的公共方法(可以訪問對象的私有方法),但是如何去做呢?
我會推薦閱讀ES6類的一個很好的文檔。也許[this](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes)? – thefourtheye
ES6類沒有私有方法,雖然它們可以通過將它們聲明爲構造函數的內部函數來創建,但是隻能從在構造函數中聲明的其他函數引用它們。你的構造函數不需要返回任何東西,因爲它隱式返回'this'。 – Alnitak
你應該嘗試你的代碼,它的工作。 – Shanoor