JSFiddle - React, Tailwind, and code Playground

JavaScript

function partial() {
	var func = arguments[0];
    argsDefined = [].slice.call(arguments, 1);
    
    return function () {
console.log('before');
console.log(arguments);        
      	argsAdded = [].slice.call(arguments);
        arguments = argsDefined.concat(argsAdded);
console.log('after');
console.log(arguments);
        return func.apply(this, arguments);
    };
}


var p = partial(function () {return 1;}, 2, 3);
var p2 = partial(function () { return 2; }, 4);

p(10, 11);
p2(12);
p();
p2();