主な内容の要点
JavaScript の arguments オブジェクトは、関数に渡された引数をまとめて扱える特別な仕組みです。引数の数が決まっていなくても、arguments を使えばすべての値を取り出せます。ただし アロー関数では使えない ので注意が必要です。
arguments オブジェクトの基本
- 関数の中でだけ使える 特別なオブジェクト。
- 関数に渡された値が 配列のように順番に格納 される。
- 例:
arguments[0],arguments[1]…
- 例:
- 実際に渡された引数の数は
arguments.lengthで確認できる。
使い方の例
function showProfile() {
console.log("name:", arguments[0]);
console.log("age:", arguments[1]);
}
showProfile("Yamada", 24);
// => name: Yamada
// => age: 24
JavaScript- 引数を定義していなくても、
argumentsを使えば値を取り出せる。 - 引数の数が多くても少なくてもエラーにならない。
応用例:引数の合計を計算
function sumAll() {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
console.log("sum =", sum);
}
sumAll(1, 3, 5); // => sum = 9
sumAll(7, 12, 3, 2, 8); // => sum = 32
JavaScript- 引数の数が決まっていなくても、全部まとめて処理できる。
注意点
- アロー関数では
argumentsが使えない。
const test = () => {
console.log(arguments.length); // エラーになる
};
JavaScript- 今は 可変長引数(
...rest構文) が使えるので、argumentsよりこちらを使うのが一般的。
function sumAll(...nums) {
return nums.reduce((a, b) => a + b, 0);
}
JavaScriptまとめ
argumentsは「関数に渡されたすべての引数」を扱える便利なオブジェクト。- 配列のように使えるが、完全な配列ではない。
- 現代の書き方では
...restを使う方が推奨される。
初心者向けに整理すると「昔は arguments を使ってたけど、今は ...rest を使うのが主流」という理解でOKです。
