torna alle lezioni

Somma con le closure

importanza: 4

Scrivete la funzione sum che funziona in questo modo: sum(a)(b) = a+b.

Esattamente, due parentesi tonde (non è un errore).

Ad esempio:

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

Perchè la seconda parentesi funzioni, la prima deve ritornare una funzione.

Come in questo esempio:

function sum(a) {

  return function(b) {
    return a + b; // takes "a" from the outer lexical environment
  };

}

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