回答編集履歴
1
Rest parameters
answer
CHANGED
@@ -26,6 +26,12 @@
|
|
26
26
|
function calcSum3 (n1, n2, n3){
|
27
27
|
return n1 + n2 + n3;
|
28
28
|
}
|
29
|
+
|
30
|
+
console.log(calcSum(1)); // 1
|
31
|
+
console.log(calcSum(1, 2)); // 2
|
32
|
+
console.log(calcSum(1, 2, 3)); // 4
|
33
|
+
console.log(calcSum(1, 2, 3, 4)); // Error
|
34
|
+
console.log(calcSum()); // Error
|
29
35
|
```
|
30
36
|
|
31
37
|
ここで重要なのは、
|
@@ -37,4 +43,11 @@
|
|
37
43
|
であり、最低一つの引数を要求する事が明確になっている点です。
|
38
44
|
`arguments` を使って実引数を参照する事で、 `Function#length` の値をコントロール出来ます。
|
39
45
|
|
46
|
+
なお、ES6 の **Rest parameters** で同様の実装をするには、次のように書きます。
|
47
|
+
|
48
|
+
```JavaScript
|
49
|
+
function calcSum (n1, ...n) {}
|
50
|
+
console.log(calcSum.length); // 1
|
51
|
+
```
|
52
|
+
|
40
53
|
Re: uer03108 さん
|