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

function.arguments プロパティは、関数に渡される引数に対応する、配列状のオブジェクトです。より単純な arguments 変数を使用してください。このプロパティは再帰最適化のため、strict mode では使用できません。

説明

function.arguments は非推奨です。arguments 変数を取得するなら、より簡単に関数内で利用できる arguments オブジェクトを用いてください。

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

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

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

function g(n) {
  console.log('before: ' + 7 + 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 1st Edition (ECMA-262) 標準 初回定義です。 JavaScript 1.0 で実装されました。 ES3 で arguments が実装され、function.arguments は非推奨になりました。
ECMAScript 5.1 (ECMA-262)
arguments object の定義
標準 arguments オブジェクト
ECMAScript 2015 (6th Edition, ECMA-262)
arguments object の定義
標準 arguments オブジェクト
ECMAScript Latest Draft (ECMA-262)
arguments object の定義
ドラフト arguments オブジェクト

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応
非推奨
Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: segayuu, teoli, ethertank, yyss
最終更新者: segayuu,