非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
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