Рекурсивное замыкание в JavaScript

Sep 30, 2019
const add = x => y => {
    const z = x + y;
    console.log(x + '+' + y + '=' + z);
    return add(z);
};

// const add = x => y => add(x + y);

// Usage

const a1 = add(5);
const a2 = a1(2); 	// 5+2=7
const a3 = a2(3); 	// 7+3=10
const a4 = a1(1); 	// 5+1=6
const a5 = a2(10); 	// 7+10=17
console.log(a1, a2, a3, a4, a5); // function add() * 5

const res = add(1)(4)(8)(8);

/*
1+4=5
5+8=13
13+8=21
*/
console.log(res); // function add()
Добавить комментарий