назад до уроку

Сума із замиканням

важливість: 4

Напишіть функцію sum яка працює ось так: sum(a)(b) = a+b.

Саме так, використовуючи подвійні дужки (це не друкарська помилка).

Наприклад:

sum(1)(2) = 3
sum(5)(-1) = 4

Щоб другі дужки працювали, функція повинна повертати іншу функцію.

Ось так:

function sum(a) {

  return function(b) {
    return a + b; // Бере "a" із зовнішнього лексичного середовища
  };

}

alert( sum(1)(2) ); // 3
alert( sum(5)(-1) ); // 4