Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

Function: length

BaselineWidely available

lengthFunction インスタンスのプロパティで、関数が期待する引数の数を示します。

試してみましょう

function func1() {}function func2(a, b) {}console.log(func1.length);// 期待される出力結果: 0console.log(func2.length);// 期待される出力結果: 2

数値です。

Function: length のプロパティ属性
書込可能不可
列挙可能不可
設定可能

解説

Function オブジェクトのlength プロパティは、関数が期待する引数の数、つまり形式上の引数の数を示します。

  • 既定値のある最初の引数より前の引数だけがカウントされます。
  • 分割パターンは単一の引数としてカウントされます。
  • 残余引数は除外されます。

これに対し、arguments.length は関数のローカルスコープ内で用いられ、関数が実際に受け取った引数の数、つまり実引数の数を参照するのに用いるものです。

Function コンストラクター自体は、Function オブジェクトです。このlength データプロパティの値は 1 です。

歴史的な理由により、Function.prototype は自身を呼び出すことができます。Function.prototypelength0 の値を持ちます。

関数の length の使用

js
console.log(Function.length); // 1console.log((() => {}).length); // 0console.log(((a) => {}).length); // 1console.log(((a, b) => {}).length); // 2 etc.console.log(((...args) => {}).length);// 0, rest parameter は数に含まれないconsole.log(((a, b = 1, c) => {}).length);// 1, 既定値を持つ引数が最初に登場する前までの// 引数だけが数に含まれるconsole.log((({ a, b }, [c, d]) => {}).length);// 2, 分割パターンは、それぞれ単一の引数としてカウントされる

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-function-instances-length

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp