Function.arguments

非推奨

この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

function.arguments プロパティは、関数に渡される引数に対応する、配列風のオブジェクトです。より単純な arguments 変数を使用してください。このプロパティは厳格モードでは使用できません。

解説

function.arguments の構文は非推奨です。関数内で arguments オブジェクトにアクセスする方法としては、変数 arguments が利用できます。

再帰呼び出しの場合、すなわちコールスタックに関数 f が複数回現れる場合に、f.arguments はもっとも直近に実行された関数に対応する引数を表します。

実行中の関数の未処理の呼び出しがない (つまり、関数が呼び出された状態で返してない) 場合、 arguments プロパティの値は通常 null です。

arguments オブジェクトの使用

function f(n) { g(n - 1) }

function g(n) {
  console.log('before: ' + g.arguments[0])
  if (n > 0) { f(n) }
  console.log('after: ' + g.arguments[0])
}

f(2)

console.log('returned: ' + g.arguments)

// Output

// before: 1
// before: 0
// after: 0
// after: 1
// returned: null

仕様書

何れかの標準で定義されたものではありません。 ECMAScript 3 で arguments に置き換えられました。

ブラウザーの互換性

BCD tables only load in the browser

関連情報