JSFiddle - React, Tailwind, and code Playground

by shubh0602

JavaScript

function Calculator() {

  this.add = function(a, b) {
    return a + b;
  };

  this.subtract = function(a, b) {
    return a - b;
  };

  this.multiply = function(a, b) {
    return a * b;
  };

  this.divide = function(a, b) {
    return a / b;
  };
}

function MyMathHelper() {
  // my methods
}

// Setting up proxy methods
var cal = new Calculator();
var methods = ['add', 'subtract', 'multiply', 'divide'];

for (var i = 0; i < methods.length; i++) {
  SetProxyMethod(methods[i]);
}

function SetProxyMethod(method) {
  MyMathHelper.prototype[method] = function() {
    return cal[method].apply(cal, arguments);
  };
}

// Now I can call add, subtract on MyMathHelper
var mathHelper = new MyMathHelper();
var sum = mathHelper.add(12, 23);
console.log(sum);