brackets-curlyConstructor Functions

Constuctor Functions sind eine Technik, um Objekte von einer Funktion zu erstellen. Constructor Functions sollen traditionelle Klassen simulieren.

const Person = function (firstname, lastname, birthYear) {
  this.firstname = firstname;
  this.lastname = lastname;
  this.birthYear = birthYear;
};

const levin = new Person('Levin', 'Bänninger', 2007);
const matilda = new Person('Matilda', 'Johnson', 2009);
const jay = new Person('Jay', 'Smith', 2010);
console.log(levin, matilda, jay);
  1. Neues {} wird erstellt

  2. Funktion wird aufgerufen, this = {}

  3. {} wird mit dem Prototype verknüpft

  4. Funktion gibt neues Objekt automatisch zurück

triangle-exclamation

instanceof

Mit instanceof können wir überprüfen ob ein Objekt eine Instanz einer bestimmten Constructor Function ist.

Prototype

Wir können uns nun den Prototype zu nutze machen, indem wir darin die Methoden und gemeinsame Properties für unsere Constructor Function definieren.

__proto__

Mit diesem Property können wir nachschauen, welchen Prototype eine Instanz hat.

Statische Methoden

Statische Methoden sind nicht an ein Objekt geknüpft sondern an den Constructor. Das heisst wir können die Methode nur auf dem Constructor aufrufen, nicht aber auf dem Objekt.

Vererbung

Wir setzen den Protoype von Student also auf den Prototype von Person. So können wir alle Methoden vom Person Prototype ebenfalls nutzen.

Last updated