Function.length

Summary

The length property specifies the number of arguments expected by the function.

Description

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 does not include the rest parameter. By contrast, arguments.length is local to a function and provides the number of arguments actually passed to the function.

Data property of the Function constructor

The Function constructor is itself a Function object. It's length data property has a value of 1. The property attributes are: Writable: false, Enumerable: false, Configurable: true.

Property of the Function prototype object

The length property of the Function prototype object has a value of 0.

Examples

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 */

Specifications

Specification Status Comment
ECMAScript 1st Edition. Implemented in JavaScript 1.1 Standard Initial definition.
length property of the Function constructor:
ECMAScript Language Specification 5.1th Edition (ECMA-262)
length property of the Function prototype object:
ECMAScript Language Specification 5.1th Edition (ECMA-262)
length property of Function instances:
ECMAScript Language Specification 5.1th Edition (ECMA-262)
Standard  
length property of the Function constructor:
ECMAScript Language Specification 6th Edition (ECMA-262)
length property of the Function prototype object:
ECMAScript Language Specification 6th Edition (ECMA-262)
length property of Function instances:
ECMAScript Language Specification 6th Edition (ECMA-262)
 
Draft  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

Document Tags and Contributors

Last updated by: fscholz,