JavaScript

Function.argumentsプロパティ

 編集:2022.08.07 by T.A.

[Edge]非推奨

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

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

解説

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

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

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

arguments オブジェクトの使用
function f(n) { g(n - 1) }
function g(n) {
  alert('before: ' + g.arguments[0]);
  if (n > 0) { f(n) }
  alert('after: ' + g.arguments[0]);
}
f(2)
alert('returned: ' + g.arguments);

表示結果:

before: 1

before: 0

after: 0

after: 1

returned: null


テスト