JSFiddle - React, Tailwind, and code Playground
JavaScript
const curry = (fn) => {
const args = []
const f = arg => args.push(arg) && f
f.toString = () => args.reduce((acc, arg) => {
if (typeof arg !== 'number') {
window.open('https://www.youtube.com/watch?v=_VxQrbNPxO4')
throw Error('?!')
}
return fn.call(fn, acc, arg)
}, 0)
return f
}
const sum = curry((x, y) => x + y)
console.log(sum(4)(6)(10)(3)(4)) // как избавится от этого уёбищного унарного оператора?!