Function.length
La propriété length
définit le nombre de paramètres attendus par la fonction.
Exemple interactif
function func1() {}
function func2(a, b) {}
console.log(func1.length);
// Expected output: 0
console.log(func2.length);
// Expected output: 2
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 <code>Function</code>
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 <code>Function</code>
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