【JavaScript ECMAScript】Function::Function: lengthインスタンスデータプロパティの使い方
Function: lengthインスタンスデータプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Function: lengthプロパティは、関数の仮引数の数を保持するプロパティです。このプロパティは、JavaScriptのFunctionオブジェクトのインスタンスが持つデータプロパティであり、関数が定義された際に宣言された引数の数を数値で示します。
具体的には、関数の定義における必須の引数、およびデフォルト値が設定されていない引数の数をカウントします。ただし、デフォルト引数が設定されたパラメータや、レストパラメータ(...argsのような可変長引数)は、lengthプロパティのカウント対象には含まれません。例えば、function example(a, b = 1, c) {} の場合、bにデフォルト値が設定されているため、lengthはaのみをカウントし1となります。また、function another(x, ...rest) {} の場合も、...restはカウントされず、lengthは1です。
このプロパティは読み取り専用であり、プログラムからその値を直接変更することはできません。関数が実際に呼び出されたときに渡される実引数の数(これはarguments.lengthで取得できます)とは異なり、lengthプロパティは、関数が「期待する」引数の数、つまり定義上、関数が受け入れることができる最小限の引数の数を示します。したがって、関数の引数の数を動的に確認したり、異なる引数の数に対応する関数を識別したりする場面で有用です。
構文(syntax)
1function exampleFunction(param1, param2, param3) { 2 // 関数の本体 3} 4 5console.log(exampleFunction.length);
引数(parameters)
引数なし
引数はありません
戻り値(return)
number
Function.prototype.length プロパティは、関数が定義された際の引数の数を示す数値を返します。