`enter code here`
class SmartCalculator {
  constructor(initialValue) {
  this.priority = 0;
  this.decision = initialValue;
  }
  add(number) {
  this.priority = 2
  this.decision = this.decision + number
 //return this.decision 
  }
  subtract(number) {
  this.priority = 2
  }
  multiply(number) {
  this.priority = 1
  }
  devide(number) {
  this.priority = 1
  }
  pow(number) {
  this.priority = 0
  }
}
module.exports = SmartCalculator;我有js类,一些测试看起来像这样:
const calculator = new SmartCalculator(1);
const value = calculator
  .add(5)
  .add(5);
assert.equal(value, 11);
});如果我在调用add方法后立即返回结果,我会得到一个错误。我怎么能只在最后一个方法之后返回结果呢?
发布于 2018-10-06 15:44:36
将其稍微更改为:
 const { value } = calculator
  .add(5)
  .add(5);然后你只需要
  return this;在每个方法的末尾添加一个小getter到你的类中:
 get value() { return this.decision; }https://stackoverflow.com/questions/52676815
复制相似问题