"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuál es la diferencia entre proto y Constructor.prototype en JavaScript?

¿Cuál es la diferencia entre proto y Constructor.prototype en JavaScript?

Publicado el 2024-11-11
Navegar:113

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

Las diferencias entre proto y constructor.prototype

La propiedad proto de un objeto hace referencia a su objeto prototipo, que contiene propiedades y métodos compartidos. Por el contrario, constructor.prototype apunta a la propiedad prototipo de la función constructora del objeto.

El siguiente ejemplo ilustra la distinción:

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

Gadget.prototype.rating = 3;

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

En este caso, newtoy.__proto__ apunta a Gadget.prototype, que tiene la calificación de propiedad, mientras que newtoy.constructor.prototype también apunta a Gadget .prototipo. Sin embargo, newtoy.constructor.prototype.constructor.prototype.constructor.prototype devuelve null porque no hay ningún prototipo más allá de Object.prototype.

Esto se debe a que proto es una referencia directa al objeto prototipo, mientras que constructor.prototype sigue la cadena del prototipo. Cuando accedes a constructor.prototype varias veces, atraviesas la cadena de prototipos hasta llegar al nivel superior Object.prototype.

En Internet Explorer, no existe la propiedad __proto__. En su lugar, puede utilizar el atributo [[Prototype]] para acceder al prototipo de un objeto. Sin embargo, no se puede acceder a este atributo en el código JavaScript estándar.

Hacer referencia a los objetos prototipo puede ayudarle a comprender la jerarquía de herencia en JavaScript y proporciona un mecanismo para compartir propiedades y métodos entre objetos relacionados.

Declaración de liberación Este artículo se reimprime en: 1729476318 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3