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(); // Парвоз