Javascript:无法调用getter

时间:2018-07-30 08:28:32

标签: javascript getter-setter

class Clock {
    constructor() {
        this.schedule = [];
        this.simulationTime = 0;
    }

    get isEmpty() {
      return this.schedule == false;
    }

    popFirstItem(){
      if(isEmpty){
        throw "error";
      }
    }
};  

我希望在isEmpty()方法中调用吸气剂popFirstItem()。但是,我无法做到。在isEmpty()方法中调用popFirstItem()的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

您需要使用this.isEmptythis将始终引用该类,并使用该引用可以调用类的方法或属性:

class Clock {
    constructor() {
        this.schedule = [];
        this.simulationTime = 0;
    }

    get isEmpty() {
      console.log('Inside isEmpty()');
      return this.schedule == false;
    }

    popFirstItem(){
      if(this.isEmpty){
        throw "error";
      }
    }
};  
var clock = new Clock();
console.log(clock.popFirstItem());