simple calculator solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity: O(1)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: O(1)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Calculator {\n\n    /** \n     * @param {number} value\n     */\n    constructor(value) {\n        this.value = value;\n    }\n\n    /** \n     * @param {number} value\n     * @return {Calculator}\n     */\n    add(value) {\n        return new Calculator(this.value + value)\n    }\n\n    /** \n     * @param {number} value\n     * @return {Calculator}\n     */\n    subtract(value) {\n        return new Calculator(this.value - value)\n    }\n\n    /** \n     * @param {number} value\n     * @return {Calculator}\n     */\n    multiply(value) {\n        return new Calculator(this.value * value)\n    }\n\n    /** \n     * @param {number} value\n     * @return {Calculator}\n     */\n    divide(value) {\n        if (value != 0) {\n            return new Calculator(this.value / value)\n        } else {\n            throw new Error("Division by zero is not allowed")\n        }\n\n    }\n\n    /** \n     * @param {number} value\n     * @return {Calculator}\n     */\n    power(value) {\n        return new Calculator(this.value ** value)\n    }\n\n    /** \n     * @return {number}\n     */\n    getResult() {\n        return this.value\n    }\n}\n```
['TypeScript', 'JavaScript']