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

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
Configurable: trueChrome ? Edge ? Firefox Support complet 37IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 37Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue

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,