"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quelle est la différence entre proto et Constructor.prototype en JavaScript ?

Quelle est la différence entre proto et Constructor.prototype en JavaScript ?

Publié le 2024-11-11
Parcourir:756

What is the Difference Between proto and Constructor.prototype in JavaScript?

Les différences entre proto et constructor.prototype

La propriété proto d'un objet fait référence à son objet prototype, qui contient des propriétés et des méthodes partagées. En revanche, constructor.prototype pointe vers la propriété prototype de la fonction constructeur de l'objet.

L'exemple suivant illustre la distinction :

function Gadget(name, color) {
  this.name = name;
  this.color = color;
}

Gadget.prototype.rating = 3;

var newtoy = new Gadget("webcam", "black");

Dans ce cas, newtoy.__proto__ pointe vers Gadget.prototype, qui a la note de propriété, tandis que newtoy.constructor.prototype pointe également vers Gadget. .prototype. Cependant, newtoy.constructor.prototype.constructor.prototype.constructor.prototype renvoie null car il n'y a pas d'autre prototype au-delà de Object.prototype.

C'est parce que proto est une référence directe au objet prototype, tandis que constructor.prototype suit la chaîne de prototypes. Lorsque vous accédez plusieurs fois à constructor.prototype, vous parcourez la chaîne de prototypes jusqu'à atteindre le niveau supérieur Object.prototype.

Dans Internet Explorer, il n'y a pas de propriété __proto__. À la place, vous pouvez utiliser l'attribut [[Prototype]] pour accéder au prototype d'un objet. Cependant, cet attribut n'est pas accessible dans le code JavaScript standard.

Le référencement aux objets prototypes peut vous aider à comprendre la hiérarchie d'héritage en JavaScript et fournit un mécanisme de partage de propriétés et de méthodes entre objets associés.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729476318. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3