javascript solution
Solutionexplanation of the Solutionthe answer is self explanatory, "this" is confusing but it means the instance of class "Calculator".
it's the same as writtin
# Solution
```javascript []
class Calculator {
    constructor(value){
        this.value = value
    }
    add(value){
        this.value += value;
        return this;
    }
    subtract(value){
        this.value -= value;
        return this;
    }
    power(value){
        this.value **= value
        return this;
    }
    multiply(value) {
        this.value *= value
        return this;
    }
    
    divide(value) {
        if (value === 0 ) throw new Error("Division by zero is not allowed"); 
       this.value /= value
        return this;
    }
    
    getResult(value){
        return this.value
    }
}
```


# explanation of the Solution
the answer is self explanatory, "this" is confusing but it means the instance of class "Calculator".
it's the same as writting this:
```javascript
class Calculator {
    constructor(value){
        this.value = value
    }
    etc...
    add(value){
        this.value = this.value + value;
        return this.getResult();
    }
    getResult(value){
        return this.value
    }
}

let cal = new Calculator(2); // 2
console.log(cal.add(5)); // 7
console.log(cal.add(5)); // 12
```
this the same as the solution at the end but it uses a different way to call the function
```
['JavaScript']