Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Function : propriété length

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété de donnée length d'une instance de Function indique le nombre de paramètres attendus par la fonction.

Exemple interactif

function func1() {}

function func2(a, b) {}

console.log(func1.length);
// Résultat attendu : 0

console.log(func2.length);
// Résultat attendu : 2

Valeur

Un nombre.

Attributs de Function : propriété length
ÉcrivableNon
ÉnumérableNon
ConfigurableOui

Description

La propriété length d'un objet Function indique combien d'arguments la fonction attend, c'est-à-dire le nombre de paramètres formels :

En revanche, arguments.length est local à une fonction et indique le nombre d'arguments réellement passés à la fonction.

Le constructeur Function est lui-même un objet Function. Sa propriété de donnée length a pour valeur 1.

Pour des raisons historiques, Function.prototype est lui-même appelable. La propriété length de Function.prototype a pour valeur 0.

Exemples

Utilisation de la propriété length des fonctions

js
console.log(Function.length); // 1

console.log((() => {}).length); // 0
console.log(((a) => {}).length); // 1
console.log(((a, b) => {}).length); // 2 etc.

console.log(((...args) => {}).length);
// 0, le paramètre du reste n'est pas compté

console.log(((a, b = 1, c) => {}).length);
// 1, seuls les paramètres avant le premier avec
// une valeur par défaut sont comptés

console.log((({ a, b }, [c, d]) => {}).length);
// 2, chaque motif de déstructuration compte pour
// un seul paramètre

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-function-instances-length

Compatibilité des navigateurs

Voir aussi