function Calculator() { let methods = { "-": (a, b) => a - b, "+": (a, b) => a + b }; this.calculate = function(str) { let split = str.split(' '), a = +split[0], op = split[1], b = +split[2] if (!methods[op] || isNaN(a) || isNaN(b)) { return NaN; } return methods[op](a, b); } this.addMethod = function(name, func) { methods[name] = func; }; }