--- title: Konstruktor slug: Web/JavaScript/Reference/Classes/constructor tags: - ECMAScript 2015 - JavaScript - Klassen translation_of: Web/JavaScript/Reference/Classes/constructor original_slug: Web/JavaScript/Reference/Klassen/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}} |