Назад к вопросам
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