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 に置き換えられました。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
arguments
非推奨非標準
Chrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 4Opera 完全対応 3Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 あり

凡例

完全対応  
完全対応
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報