JavaScript Solution
\n\nclass Calculator {\n  \n  /** \n   * @param {number} value\n   */\n  constructor(value) {\n      this.value=value;\n\n  }\n\n  /** \n   * @param {number} va
\n```\nclass Calculator {\n  \n  /** \n   * @param {number} value\n   */\n  constructor(value) {\n      this.value=value;\n\n  }\n\n  /** \n   * @param {number} value\n   * @return {Calculator}\n   */\n  add(value){\n      this.value+=value;\n      return this;\n\n  }\n\n  /** \n   * @param {number} value\n   * @return {Calculator}\n   */\n  subtract(value){\n      this.value-=value;\n      return this;\n\n  }\n\n  /** \n   * @param {number} value\n   * @return {Calculator}\n   */  \n  multiply(value) {\n      this.value*=value;\n      return this;\n  }\n\n  /** \n   * @param {number} value\n   * @return {Calculator}\n   */\n  divide(value) {\n      if (value==0){\n          throw new Error(\'Division by zero is not allowed\');\n      }\n      this.value/=value;\n      return this;\n\n  }\n  \n  /** \n   * @param {number} value\n   * @return {Calculator}\n   */\n  power(value) {\n      this.value=Math.pow(this.value,value);\n      return this;\n\n  }\n    \n  /** \n   * @return {number}\n   */\n  getResult() {\n      return this.value;\n   \n  }\n}\n```
['JavaScript']