regresar a la lección

Suma con clausuras

importancia: 4

Escriba la función sum que funcione así: sum(a)(b) = a+b.

Sí, exactamente de esta manera, usando paréntesis dobles (no es un error de tipeo).

Por ejemplo:

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

Para que funcionen los segundos paréntesis, los primeros deben devolver una función.

Como esto:

function sum(a) {

  return function(b) {
    return a + b; // toma "a" del entorno léxico externo
  };
}

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