Function オブジェクトのlength プロパティ
【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム
【引数の数を取得する(length)】
関数でいくつの引数を受け取るように定義されているのかを参照するときにに使用されるのが Function オブジェクトの length メソッドです。
【引数の数を取得する(length)】
関数でいくつの引数を受け取るように定義されているのかを参照するときにに使用されるのが Function オブジェクトの length メソッドです。
書式は次の通りです。
・関数名.length
サンプル
function dispTotal(x, y, z){
let sum = x + y + z;
return sum;
}
console.log(dispTotal.length);実行
3
関数 dispTotal は 3 つの引数を受け取るように定義されています。その為、この関数の length プロパティは 3 となります。
【引数にデフォルト値が設定されている場合】
引数の中にデフォルト値が設定された引数がある場合、 length プロパティは最初のデフォルト値が設定された引数の前の引数までの数を返します。
サンプル
function dispPersonal(old, name = 'none', address){
console.log('old = ' + old);
console.log('name = ' + name);
console.log('address = ' + address);
}
実行
console.log(dispPersonal.length);
1
関数 dispPersonal は 3 つの引数を受け取るように定義されていますが、 2 つ目の引数にデフォルト値が設定されているため length プロパティの値はデフォルト値が設定されている一つ前の引数までとなるため 1 となります。
【可変長引数が含まれている場合】
length プロパティには可変長引数は含まれないため、可変長引数を除いた引数の数を返します。次のサンプルをみてください。
function calcSum(start, ...num){
let sum = start;
for (let i = 0 ; i 1
関数 calcSum は通常の引数が 1 つと可変長引数をを受け取るように定義されています。 length プロパティには可変長引数は含まれないため 1 となります。