HOC

by rexonms

JavaScript

const makeAdder = (x) => sum = (y) => x + y
const add10 = makeAdder(10)
const add25 = makeAdder(25)

console.log(add10(15))
console.log(add25(15))


/////////////////////////////////
const runningCounter = (start) => {
	let val = start
  return current = (increment = 1)  => {
  	val = val + increment
    return val
  }
}
const score = runningCounter(0)

console.log(score())
console.log(score())
console.log(score(2))
console.log(score(10))