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

Для чего нужны прототипы в JavaScript

Прототипы в JS — это механизм наследования. Каждый объект имеет скрытое свойство [[Prototype]], ссылающееся на другой объект (прототип). Если свойство не найдено в самом объекте, JS ищет его в прототипе, затем в прототипе прототипа и так далее (цепочка прототипов).

Пример:

javascript
const animal = { eats: true };
const rabbit = { jumps: true };

rabbit.__proto__ = animal; // устаревший способ, лучше использовать Object.create()

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

Основные преимущества:

  1. Экономия памяти — методы хранятся в прототипе, а не в каждом объекте
  2. Динамическое наследование — можно изменять прототип во время выполнения
  3. Основа для классов (ES6 классы — синтаксический сахар над прототипами)

Современная альтернатива — Object.create() и методы Object.getPrototypeOf()/setPrototypeOf().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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