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 (ECMA-262)
Die Definition von 'Function.length' in dieser Spezifikation.
Lebender Standard  

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 3Safari Vollständige Unterstützung 1WebView Android Vollständige Unterstützung 1Chrome Android Vollständige Unterstützung 18Firefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung 10.1Safari iOS Vollständige Unterstützung 1Samsung 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 Keine Unterstützung NeinWebView 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 Keine Unterstützung NeinSamsung 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

Siehe auch