| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/Length | [Back] [Original] |
Get to know MDN better
This feature is well established and works across many devices and browser versions. Its been available across browsers since July 2015.
The length data property of a Function instance indicates the number of parameters expected by the function.
function func1() {}
function func2(a, b) {}
console.log(func1.length);
// Expected output: 0
console.log(func2.length);
// Expected output: 2
A number.
Property attributes of Function: length | |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | yes |
A Function object's length property indicates how many arguments the function expects, i.e., the number of formal parameters:
By contrast, arguments.length is local to a function and provides the number of arguments actually passed to the function.
The Function constructor is itself a Function object. Its length data property has a value of 1.
Due to historical reasons, Function.prototype is a callable itself. The length property of Function.prototype has a value of 0.
console.log(Function.length); // 1
console.log((() => {}).length); // 0
console.log(((a) => {}).length); // 1
console.log(((a, b) => {}).length); // 2 etc.
console.log(((...args) => {}).length);
// 0, rest parameter is not counted
console.log(((a, b = 1, c) => {}).length);
// 1, only parameters before the first one with
// a default value are counted
console.log((({ a, b }, [c, d]) => {}).length);
// 2, destructuring patterns each count as
// a single parameter
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-function-instances-length |
This page was last modified on Jul 10, 2025 by MDN contributors.
FunctionObject/FunctionYour blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |