Middle+
JavaScriptте кайсы мурас алуу түрү колдонулат? Класстарда көп мурас алуу барбы?
sobes.tech AI
AIден жооп
JavaScriptте прототиптик мурас колдонулат, жана ES6 менен класстар пайда болгондон кийин — прототиптердин үстүндө синтаксистик шекер. JSтеги класстар жалгыз мураска колдоо көрсөтөт, башкача айтканда, класс гана бир ата-энеден мурас алат.
JavaScriptтеги класстарда көп мурас алуу жок, бирок сиз миксиндерди колдонсоңуз болот — бул функциялар, алар классга методдорду кошуп, көп мурас алууну имитациялайт.
Жалгыз мурас алуу мисалы:
class Animal {
speak() {
console.log('Жаныбар үнү');
}
}
class Dog extends Animal {
speak() {
console.log('Хау!');
}
}
const dog = new Dog();
dog.speak(); // Хау!
Миксин мисалы:
const CanFly = Base => class extends Base {
fly() {
console.log('Учуу');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Учуу