主な内容の要点
JavaScript の関数には .length プロパティがあり、「その関数が定義時に受け取る引数の数」を調べることができます。ただし、実際に呼び出したときに渡された引数の数ではない点に注意が必要です。
基本ルール
- 書き方は
関数名.length - 返ってくるのは「定義された引数の数」
function add(x, y, z) {
return x + y + z;
}
console.log(add.length); // 3
JavaScript→ add は 3 つの引数を受け取るように定義されているので 3 が返る。
注意点
- デフォルト値がある場合
デフォルト値が設定された引数以降はカウントされない。
function hello(name = "guest", age) {}
console.log(hello.length); // 0
JavaScript→ 最初の引数にデフォルト値があるので、length は 0。
- 可変長引数(…rest)を使った場合
...argsのような可変長引数はカウントされない。
function sum(start, ...nums) {}
console.log(sum.length); // 1
JavaScript→ start だけが数えられる。
まとめ
.lengthは 「関数が定義されたときの引数の数」を返す。- 実際に渡された引数の数を知りたいときは
arguments.lengthを使う。 - デフォルト値や可変長引数はカウントされないので混乱しやすい。
初心者の方は「.length は定義上の数、arguments.length は実際に渡された数」と覚えるとスッキリしますよ。
このあたりを理解すると、関数の仕組みや柔軟な引数の扱い方がグッと分かりやすくなります。
次は arguments オブジェクトや rest パラメータを組み合わせて、実際に「引数の数を動的に扱う」練習をすると理解が深まります。
