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

Как реализуется наследование в JS

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

Способы наследования:

  1. Через __proto__ (устаревший способ):
javascript
const parent = { name: 'Parent' };
const child = { age: 10 };
child.__proto__ = parent;
console.log(child.name); // 'Parent'
  1. Через Object.create():
javascript
const parent = { name: 'Parent' };
const child = Object.create(parent);
child.age = 10;
  1. Через классы (ES6):
javascript
class Parent {
  constructor(name) { this.name = name; }
}
class Child extends Parent {
  constructor(name, age) {
    super(name);
    this.age = age;
  }
}
const child = new Child('Test', 5);

Важно: в JS наследование прототипное, а не классовое (хотя классы ES6 - это синтаксический сахар над прототипами).

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

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

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

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