Middle+
Aký typ dedičstva sa používa v JavaScript? Existuje viacnásobné dedičstvo u tried?
sobes.tech AI
Odpoveď od AI
V JavaScripte sa používa prototypové dedičstvo, a s nástupom tried (ES6) — je to syntaktický cukor nad prototypmi. Triedy v JS podporujú jednoduché dedičstvo, teda trieda môže dediť iba od jedného rodiča.
V JavaScripte neexistuje viacnásobné dedičstvo tried, ale môžete použiť mixiny — funkcie, ktoré pridávajú metódy do triedy, aby napodobnili viacnásobné dedičstvo.
Príklad jednoduchého dedičstva:
class Animal {
speak() {
console.log('Zvuk zvieraťa');
}
}
class Dog extends Animal {
speak() {
console.log('Hau!');
}
}
const dog = new Dog();
dog.speak(); // Hau!
Príklad mixinu:
const CanFly = Base => class extends Base {
fly() {
console.log('Lietanie');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Lietanie