JavaScript | 関数で使う arguments オブジェクト の使い方

JavaScript JavaScript
スポンサーリンク

主な内容の要点

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です。

タイトルとURLをコピーしました