Function.length

Die length Eigenschaft gibt die Anzahl der von der Funktion erwarteten Parameter an.

Eigenschaftsattribute von Function.length
Schreibbar nein
Aufzählbar nein
Konfigurierbar ja

Beschreibung

length ist eine Eigenschaft eines Funktionsobjekts und zeigt an, wie viele Argumente die Funktion erwartet, d.h. die Anzahl der formalen Parameter. Diese Anzahl beinhaltet jedoch nicht den rest Parameter und bezieht außerdem auch nur die Parameter ein, die in der Reihenfolge vor dem ersten Parameter mit einem Default-Wert sind. Im Gegensatz dazu ist arguments.length eine in jeder Funktion verfügbare lokale Variable, die die tatsächliche Anzahl der übergebenen Argumente angibt.

Dateneigenschaft des Function Konstruktors

Der Function Konstruktor ist selbst ein Function Objekt. Seine Eigenschaft length hat den Wert 1. Dessen Attribute lauten: Writable: false, Enumerable: false, Configurable: true.

Eigenschaft des Function prototype Objekt

Die length-Eigenschaft des Function prototype Objekts hat den Wert 0.

Beispiele

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, rest parameter wird nicht gezählt

console.log((function(a, b = 1, c) {}).length);
// 1, nur Parameter vor dem ersten Parameter mit
// einem Default-Wert werden gezählt

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition. Implementiert in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Function.length' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Function.length' in dieser Spezifikation.
Standard Das configurable Attribut dieser Eigenschaft ist nun true.
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Function.length' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
lengthChrome Vollständige Unterstützung 1Edge Vollständige Unterstützung 12Firefox Vollständige Unterstützung 1IE Vollständige Unterstützung 4Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung JaWebView Android Vollständige Unterstützung 1Chrome Android Vollständige Unterstützung 18Firefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung JaSamsung Internet Android Vollständige Unterstützung 1.0nodejs Vollständige Unterstützung Ja
Configurable: trueChrome Vollständige Unterstützung 43Edge Vollständige Unterstützung 12Firefox Vollständige Unterstützung 37IE Keine Unterstützung NeinOpera Vollständige Unterstützung 30Safari ? WebView Android Vollständige Unterstützung 43Chrome Android Vollständige Unterstützung 43Firefox Android Vollständige Unterstützung 37Opera Android Vollständige Unterstützung 30Safari iOS ? Samsung Internet Android Vollständige Unterstützung 4.0nodejs Vollständige Unterstützung Ja

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt

Siehe auch