La propriété length définit le nombre d'arguments 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 Latest Draft (ECMA-262)
La définition de 'Function.length' dans cette spécification.
Projet  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui Oui1 Oui Oui Oui
Configurable: true ? ?37 ? ? ?
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui4 Oui Oui Oui
Configurable: true ? ? ?37 ? ? ?

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, teoli, tregagnon, Jeremie, Julien STUBY, Julien.stuby, BenoitL
Dernière mise à jour par : SphinxKnight,