Zoeken…


Opmerkingen

Constructorfuncties zijn eigenlijk gewoon normale functies, er is niets speciaals aan. Het is alleen het new trefwoord dat het speciale gedrag veroorzaakt dat in de bovenstaande voorbeelden wordt getoond. Constructorfuncties kunnen desgewenst nog steeds als een normale functie worden aangeroepen, in welk geval u this waarde expliciet moet binden.

Het verklaren van een constructorfunctie

Constructorfuncties zijn functies die zijn ontworpen om een nieuw object te construeren. Binnen een constructorfunctie verwijst het trefwoord this een nieuw gemaakt object waaraan waarden kunnen worden toegewezen. Constructor functies "retourneren" dit nieuwe object automatisch.

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

Constructorfuncties worden opgeroepen met het new trefwoord:

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

Constructorfuncties hebben ook een prototype eigenschap die verwijst naar een object waarvan de eigenschappen automatisch worden overgenomen door alle objecten die met die constructor zijn gemaakt:

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

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

Objecten gemaakt door constructorfuncties hebben ook een speciale eigenschap op hun prototype genaamd constructor , die verwijst naar de functie die wordt gebruikt om ze te maken:

cat.constructor // Returns the `Cat` function

Objecten gemaakt door constructorfuncties worden door de operator instanceof ook beschouwd als "instanties" van de constructorfunctie:

cat instanceof Cat // Returns "true"


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow