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

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

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

Пример:

javascript
const animal = {
  eats: true
};

const rabbit = {
  jumps: true,
  __proto__: animal // устаревший синтаксис
};

console.log(rabbit.eats); // true (наследуется от animal)

Современный способ:

javascript
const animal = {
  eats: true
};

const rabbit = Object.create(animal); // создает объект с прототипом animal
rabbit.jumps = true;

console.log(rabbit.eats); // true

Ключевые моменты:

  • Прототипы используются только для чтения свойств
  • Запись/удаление работают непосредственно с объектом
  • Object.getPrototypeOf(obj) и Object.setPrototypeOf(obj) - современные методы работы с прототипами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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