JSFiddle - React, Tailwind, and code Playground
by Artur Maizelev
JavaScript
function evaluate(operation, x) {
switch (operation) {
case 'sum':
return function(z) {
return function(a) {
return z + a;
}
}
case 'multiply':
return function(z) {
return function(a) {
return z * a;
}
}
case 'divide':
return function(z) {
return function(a) {
return z / a;
}
}
case 'substract':
return function(z) {
return function(a) {
return z - a;
}
}
default:
return 'Invalid Operation!'
}
}
const multiply = evaluate('multiply')
console.log(multiply()(3));