> Куда записывается свойство при добавлении его в прототип объекта в JavaScript (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: IT-One
Стек: JavaScript
> Пример ответа
При добавлении свойства в прототип объекта в JavaScript оно записывается непосредственно в объект prototype функции-конструктора (или в __proto__ для литералов). Это свойство становится доступным всем экземплярам через цепочку прототипов, но не копируется в сами экземпляры - оно хранится в единственном экземпляре на уровне прототипа.
Пример:
JAVASCRIPTfunction Animal(name) {this.name = name;}Animal.prototype.sayHi = function() {console.log('Hi from ' + this.name);};const cat = new Animal('Cat');const dog = new Animal('Dog');cat.sayHi(); // 'Hi from Cat' - метод берется из прототипаconsole.log(cat.hasOwnProperty('sayHi')); // false - свойство не в самом объекте
Свойство sayHi хранится в Animal.prototype, а не в cat или dog. При обращении к нему JavaScript сначала ищет в собственном объекте, затем переходит по цепочке прототипов.
> Похожие задачи по frontend
Зачем нужен event loop?
Каковы причины утечек памяти в JavaScript
Как отфильтровать строку, чтобы оставить только буквы с помощью регулярных выражений в JavaScript
Как обрабатывать дублирующиеся ключи при преобразовании массива объектов в объект в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью