--- title: Konstruktor slug: Web/JavaScript/Reference/Klassen/constructor tags: - ECMAScript 2015 - JavaScript - Klassen translation_of: Web/JavaScript/Reference/Classes/constructor ---
Die constructor
Methode ist eine spezielle Methode für das erzeugen und initialisieren von Objekten, die mit dem Schlüsselwort class
erzeugt wurden.
constructor([Argumente]) { ... }
In einer Klasse kann es nur eine Methode mit dem Namen "constructor" geben. Eine {{jsxref("SyntaxError")}} Fehlermeldung wird geworfen, wenn in einer Klasse die constructor
Methode mehr als einmal vorhanden ist.
Die constructor
Methode kann mit dem Schlüsselwort super
die constructor
Methode der Eltern-Klasse aufrufen.
Wenn man keine constructor
Methode erzeugt, wird eine Standardkonstruktor verwendet.
constructor
MethodeDieser Quellcode Ausschnitt wurden vom classes Beispiel (live Demo) übernommen.
class Square extends Polygon { constructor(length) { // Hier wird die constructor Methode der Eltern-Klasse aufgerufen, // für die Parameter width und height wurde der übergebene length Parameter verwendet super(length, length); // Anmerkung: In abgeleiteten Klassen, muss die super() Methode aufgerufen werden, // bevor man das 'this' Objekt verwenden kann, da es sonst zu einen Referenz Fehler kommt this.name = 'Square'; } get area() { return this.height * this.width; } set area(value) { this.area = value; } }
Wenn man keine constructor
Methode anlegt, wird eine Standardkonstruktor verwendet. Für Basis Klassen ist der Standard Konstruktor:
constructor() {}
Für vererbte Klassen, ist das der Standardkonstruktor:
constructor(...args) { super(...args); }
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('ES2015', '#sec-static-semantics-constructormethod', 'Constructor Method')}} | {{Spec2('ES2015')}} | Initiale Definition. |
{{SpecName('ESDraft', '#sec-static-semantics-constructormethod', 'Constructor Method')}} | {{Spec2('ESDraft')}} |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatChrome(42.0)}} | {{CompatGeckoDesktop(45)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Default constructors | {{CompatUnknown}} | {{CompatGeckoDesktop(45)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatChrome(42.0)}} | {{CompatGeckoMobile(45)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatChrome(42.0)}} |
Default constructors | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile(45)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |