レッスンに戻る

クロージャーの合計

importance: 4

sumと呼ばれる、このような挙動を示す関数を記述してください:sum(a)(b) = a+b

そのとおりです。まさにこの通りに、二重かっこを使用して記述してください(タイプミスではありません)。

たとえば

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

2つ目のカッコが機能するには、1つ目のカッコは関数を返却する必要があります。

次のように記述します。

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