Sobes.tech
Назад к вопросам
Middle+
3

Какой тип наследования используется в JavaScript? Есть ли множественное наследование у классов?

Компании, где спрашивали
Банк Ренессанс

Ответ от нейросети

sobes.tech AI

В JavaScript используется прототипное наследование, а с появлением классов (ES6) — синтаксический сахар поверх прототипов. Классы в JS поддерживают одиночное наследование, то есть класс может наследоваться только от одного родителя.

Множественного наследования классов в JavaScript нет, но можно использовать миксины — функции, которые добавляют методы в класс, чтобы имитировать множественное наследование.

Пример одиночного наследования:

class Animal {
  speak() {
    console.log('Animal sound');
  }
}

class Dog extends Animal {
  speak() {
    console.log('Woof!');
  }
}

const dog = new Dog();
dog.speak(); // Woof!

Пример миксина:

const CanFly = Base => class extends Base {
  fly() {
    console.log('Flying');
  }
};

class Bird {}
class Eagle extends CanFly(Bird) {}

const eagle = new Eagle();
eagle.fly(); // Flying