Skip to main content
0:00est. 4 min

Curring

// https://docs.google.com/document/d/1hvEjK5ZXMPYOr9HFoeCD4FM4b2dw-XsCwyB45M6Sz8Y/edit
function sum(a) {
return function(b) {
if (b) {
return sum(a+b);
}
return a
}
}

console.log(sum(1)(2)(3)(4)())

function sum(a) {
return function (b) {
if (b) {
return sum(a+b);
}
return a;
}
}


// https://www.youtube.com/watch?v=vQcCNpuaJO8&list=PLlasXeu85E9eV5xUEgrWUB8NAUvNZGsK0&index=1

// Curring using bind
let multiply = function (a,b) {
console.log(a*b)
}

let multiplyBy2 = multiply.bind(this, 2)
let multiplyBy4 = multiply.bind(this, )

multiplyBy2(3) // 6
multiplyBy4(3,4) // 12


// Curring using closure
let multiplyWithClosure = function (x) {
return function (y) {
console.log(x*y);
}
}

let multiplyWithClosureBy2 = multiplyWithClosure(2)
multiplyWithClosureBy2(3) // 6