【JavaScript ECMAScript】arguments.lengthインスタンスデータプロパティの使い方
arguments.lengthインスタンスデータプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
arguments.lengthプロパティは、関数内で利用できる特別なargumentsオブジェクトに属し、その関数が呼び出された際に実際に渡された引数の数を数値として保持するプロパティです。
このプロパティは、特定の関数にいくつの引数が渡されたかを動的に知りたい場合に役立ちます。例えば、引数の数が可変である関数を設計する際や、渡された引数の数に応じて処理を分岐させたい場合に利用できます。argumentsオブジェクトは、関数に渡されたすべての引数を格納しており、arguments.lengthはその中に格納されている引数の総数を表します。
これは、関数の定義時に宣言されている仮引数の数(例えば、function foo(a, b)の場合の2)とは異なります。arguments.lengthは、関数が実際にfoo(1, 2, 3)のように呼び出されたときに渡された引数の数(この場合は3)を正確に示します。
ただし、arguments.lengthプロパティは、非厳格モードの関数内でのみ利用可能です。JavaScriptの厳格モード("use strict"; で宣言された関数内)や、ES6で導入されたアロー関数では使用できません。現代のJavaScriptでは、同様の目的のためにレストパラメータ(...args)がより推奨されており、より柔軟で明瞭なコード記述が可能となっています。古いコードベースを理解する際や、特定の環境下でのみ有効な特性として認識しておくことが重要です。
構文(syntax)
1function functionName() { 2 arguments.length; 3}
引数(parameters)
引数なし
引数はありません
戻り値(return)
Number
arguments.length は、関数に渡された引数の個数を表す数値です。