JavaScript/Function/prototype/length
表示
Function.prototype.length は、関数が期待する典型的な引数の数を表すプロパティです。このプロパティは、関数が定義された際に指定された仮引数の数を示しますが、関数が呼び出される際に異なる数の引数を渡すことも可能です[1]。
構文
[編集]func.length
func: 引数の数を確認する対象の関数。
例
[編集]関数の length プロパティを確認するプログラム
[編集]以下のプログラムは、Function.prototype.length を使用して関数が期待する引数の数を確認します。
function sum(a, b, c) { return a + b + c; } console.log(sum.length); // 3
このプログラムでは、sum 関数が期待する引数の数を確認しています。sum 関数は3つの引数を期待しているため、sum.length は 3 を返します。
デフォルト引数を持つ関数の length プロパティを確認するプログラム
[編集]以下のプログラムは、デフォルト引数を持つ関数の length プロパティを確認します。
function greet(name = 'Alice', message = 'Hello') { console.log(`${message}, ${name}!`); } console.log(greet.length); // 0
このプログラムでは、greet 関数が期待する引数の数を確認しています。greet 関数はデフォルト引数を持っているため、greet.length は 0 を返します。
可変長引数を持つ関数の length プロパティを確認するプログラム
[編集]以下のプログラムは、可変長引数を持つ関数の length プロパティを確認します。
function logMessages(...messages) { messages.forEach(message => console.log(message)); } console.log(logMessages.length); // 0
このプログラムでは、logMessages 関数が期待する引数の数を確認しています。logMessages 関数は可変長引数を持っているため、logMessages.length は 0 を返します。
注意点
[編集]- 引数の数:
lengthプロパティは、関数が定義された際に指定された仮引数の数を示します。デフォルト引数や可変長引数を持つ場合、lengthプロパティは影響を受けます。 - 変更不可:
lengthプロパティは変更不可(Writable: false)であり、列挙不可(Enumerable: false)です。ただし、設定可能(Configurable: true)です。 - 関数の動作:
lengthプロパティは、関数が期待する引数の数を示しますが、関数が呼び出される際に異なる数の引数を渡すことも可能です。関数がどのように動作するかは、関数の実装に依存します。
脚註
[編集]- ^ これは、関数が期待する引数の数を確認するために使用されます。
外部リンク
[編集]