Die constructor
Methode ist eine spezielle Methode für das erzeugen und initialisieren von Objekten, die mit dem Schlüsselwort class
erzeugt wurden.
Syntax
constructor([Argumente]) { ... }
Beschreibung
In einer Klasse kann es nur eine Methode mit dem Namen "constructor" geben. Eine 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.
Beispiele
Verwendung der constructor
Methode
Dieser 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; } }
Standardkonstruktoren
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); }
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Constructor Method' in dieser Spezifikation. |
Standard | Initiale Definition. |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Constructor Method' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 42.0 | 45 (45) | ? | ? | ? |
Default constructors | ? | 45 (45) | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | Nicht unterstützt | 42.0 | 45.0 (45) | ? | ? | ? | 42.0 |
Default constructors | ? | ? | 45.0 (45) | ? | ? | ? | ? |