このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

arguments.length

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

arguments.length データプロパティは、関数に渡された引数の数が入ります。

非負の整数です。

arguments.length のプロパティ属性
書込可能
列挙可能不可
設定可能

解説

arguments.length プロパティは、実際に関数に渡された引数の数を提供します。これは、定義された仮引数の数以上にも以下にもなることがあります(Function.prototype.length を参照してください)。

js
function func1(a, b, c) {
  console.log(arguments.length);
}

func1.length3 を返します。これは func1 が 3 つの形式引数を宣言しているためです。しかし、func1(1, 2, 3, 4, 5)5 をログ出力します。これは func1 が5つの引数をつけて呼び出されたためです。同様に、func1(1)1 をログ出力します。これは func1 が 1 つの引数をつけて呼び出されたためです。

arguments.length の使用

この例では、2 つ以上の数を加算する関数を定義しています。

js
function adder(base /*, num1, …, numN */) {
  base = Number(base);
  for (let i = 1; i < arguments.length; i++) {
    base += Number(arguments[i]);
  }
  return base;
}

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-arguments-exotic-objects

ブラウザーの互換性

関連情報