Recherche…


Remarques

Les fonctions de constructeur ne sont en fait que des fonctions régulières, il n'y a rien de spécial à leur sujet. Ce n'est que le new mot-clé qui provoque le comportement particulier indiqué dans les exemples ci-dessus. Les fonctions constructeur peuvent toujours être appelées comme une fonction régulière si vous le souhaitez, auquel cas vous devez associer explicitement this valeur.

Déclaration d'une fonction constructeur

Les fonctions constructeur sont des fonctions conçues pour construire un nouvel objet. Dans une fonction constructeur, le mot this clé this fait référence à un objet nouvellement créé auquel des valeurs peuvent être affectées. Les fonctions constructeur "renvoient" automatiquement ce nouvel objet.

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

Les fonctions constructeur sont appelées à l'aide du new mot clé:

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

Les fonctions constructeur ont également une propriété prototype qui pointe vers un objet dont les propriétés sont automatiquement héritées par tous les objets créés avec ce constructeur:

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

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

Les objets créés par les fonctions constructeur ont également une propriété spéciale sur leur prototype appelée constructor , qui pointe vers la fonction utilisée pour les créer:

cat.constructor // Returns the `Cat` function

Les objets créés par les fonctions constructeur sont également considérés comme des "instances" de la fonction constructeur par l'opérateur instanceof :

cat instanceof Cat // Returns "true"


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow