«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > В чем разница между proto и Constructor.prototype в JavaScript?

В чем разница между proto и Constructor.prototype в JavaScript?

Опубликовано 11 ноября 2024 г.
Просматривать:730

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

Различия между proto и конструктором.prototype

Свойство proto объекта ссылается на свой объект-прототип, который содержит общие свойства и методы. Напротив, конструктор.prototype указывает на свойство прототипа функции-конструктора объекта.

Следующий пример иллюстрирует различие:

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

Gadget.prototype.rating = 3;

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

В этом случае newtoy.__proto__ указывает на Gadget.prototype, который имеет рейтинг свойства, а newtoy.constructor.prototype также указывает на Gadget .прототип. Однако newtoy.constructor.prototype.constructor.prototype.constructor.prototype возвращает значение null, поскольку за пределами Object.prototype нет другого прототипа.

Это связано с тем, что proto является прямой ссылкой на объект прототипа, а конструктор.prototype следует за цепочкой прототипов. При многократном доступе к конструктору.prototype вы перемещаетесь по цепочке прототипов, пока не достигнете Object.prototype верхнего уровня.

В Internet Explorer нет свойства __proto__. Вместо этого вы можете использовать атрибут [[Prototype]] для доступа к прототипу объекта. Однако этот атрибут недоступен в стандартном коде JavaScript.

Ссылка на объекты-прототипы может помочь вам понять иерархию наследования в JavaScript и обеспечивает механизм совместного использования свойств и методов между связанными объектами.

Заявление о выпуске Эта статья перепечатана по адресу: 1729476318. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3