The length
property specifies the number of arguments expected by the function.
Property attributes of Function.length
| |
---|---|
Writable | no |
Enumerable | no |
Configurable | yes |
length
is a property of a function object, and indicates how many arguments the function expects, i.e. the number of formal parameters. This number excludes the rest parameter and only includes parameters before the first one with a default value. By contrast, arguments.length
is local to a function and provides the number of arguments actually passed to the function.
Function
constructorThe Function
constructor is itself a Function
object. Its length
data property has a value of 1. The property attributes are: Writable: false
, Enumerable: false
, Configurable: true
.
Function
prototype objectThe length property of the Function
prototype object has a value of 0.
console.log(Function.length); /* 1 */ console.log((function() {}).length); /* 0 */ console.log((function(a) {}).length); /* 1 */ console.log((function(a, b) {}).length); /* 2 etc. */ console.log((function(...args) {}).length); // 0, rest parameter is not counted console.log((function(a, b = 1, c) {}).length); // 1, only parameters before the first one with // a default value is counted
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) The definition of 'Function.length' in that specification. | Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Function.length' in that specification. | Standard | The configurable attribute of this property is now true . |
ECMAScript 2017 Draft (ECMA-262) The definition of 'Function.length' in that specification. | Draft |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Configurable: true | ? | 37 (37) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Configurable: true | ? | ? | 37.0 (37) | ? | ? | ? |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length