Встречается на собеседованиях • сегодня

Как работает прототипное наследование

В JavaScript используется прототипное наследование. Каждый объект имеет скрытое свойство [[Prototype]], которое ссылается на другой объект (прототип). При обращении к свойству/методу, если его нет в самом объекте, поиск идет по цепочке прототипов.

Пример:

javascript
const animal = {
  eats: true
};

const rabbit = {
jumps: true,
proto: animal // устаревший синтаксис, лучше использовать Object.create()
};

console.log(rabbit.eats); // true, взято из прототипа

text

Современный способ:
```javascript
const animal = { eats: true };
const rabbit = Object.create(animal);
rabbit.jumps = true;

Важно:

  • Цепочка прототипов может быть любой длины
  • __proto__ - исторический геттер/сеттер (не рекомендуется в новых проектах)
  • Для установки прототипа лучше использовать Object.create() или Object.setPrototypeOf()
  • Методы в прототипах доступны всем экземплярам, что экономит память
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы