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.
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