Suche…


Bemerkungen

Konstruktorfunktionen sind eigentlich nur reguläre Funktionen, sie haben nichts Besonderes. Nur das new Schlüsselwort verursacht das spezielle Verhalten, das in den obigen Beispielen gezeigt wird. Constructor Funktionen können noch wie eine normale Funktion aufgerufen werden , falls gewünscht, in dem Fall , dass Sie die binden , müßten this ausdrücklich Wert.

Konstruktorfunktion deklarieren

Konstruktorfunktionen sind Funktionen zum Konstruieren eines neuen Objekts. Innerhalb einer Konstruktionsfunktion, das Schlüsselwort this bezieht sich auf eine neu erstellte Objekt die Werte zugewiesen werden können. Konstruktorfunktionen "geben" dieses neue Objekt automatisch zurück.

function Cat(name) {
  this.name = name;
  this.sound = "Meow";
}

Konstruktorfunktionen werden mit dem new Schlüsselwort aufgerufen:

let cat = new Cat("Tom");
cat.sound; // Returns "Meow"

Konstruktorfunktionen verfügen außerdem über eine prototype die auf ein Objekt verweist, dessen Eigenschaften automatisch von allen mit diesem Konstruktor erstellten Objekten übernommen werden:

Cat.prototype.speak = function() {
  console.log(this.sound);
}

cat.speak(); // Outputs "Meow" to the console

Objekte, die von Konstruktorfunktionen erstellt werden, haben auch eine spezielle Eigenschaft in ihrem Prototyp, der als constructor , die auf die zu ihrer Erstellung verwendete Funktion verweist:

cat.constructor // Returns the `Cat` function

Objekte, die von Konstruktorfunktionen erstellt werden, werden vom Operator instanceof als "Instanzen" der Konstruktorfunktion betrachtet:

cat instanceof Cat // Returns "true"


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow