Function.length

La propriété length définit le nombre de paramètres attendus par la fonction.

Attributs de Function.length
Écrivable Non
Énumérable Non
Configurable Oui

Description

length est une propriété des fonctions qui indique le nombre d'arguments attendus par la fonction (ce qui correspond au nombre d'arguments formellement déclarés). Cette quantité n'inclue pas les paramètres du reste et ne compte que les paramètres situés avant le premier paramètre avec une valeur par défaut. Cette propriété est différente de arguments.length qui est locale à la fonction et qui décrit le nombre d'arguments réellement passés à la fonction.

Propriété du constructeur Function

Le constructeur Function est lui-même un objet Function. Sa propriété length vaut 1. Les attributs de cette propriété sont : Écrivable : false, Énumérable : false, Configurable : true.

Propriété du prototype de Function

La propriété length du prototype de Function vaut 0.

Exemples

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, le paramètre du reste n'est pas compté
console.log((function(a, b = 1, c) {}).length);
// 1, seuls les paramètres avant les valeurs par
// défaut sont comptés

Spécifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
La définition de 'Function.length' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Function.length' dans cette spécification.
Standard L'attribut configurable de cette propriété vaut true désormais.
ECMAScript (ECMA-262)
La définition de 'Function.length' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi