Ինչպես է աշխատում JavaScript-ում պրոտոտիպների համակարգը?
sobes.tech AI
Պատասխան AI-ից
JavaScript-ում պրոտոտիպների համակարգը ժառանգության մեխանիզմ է, որի ժամանակ օբյեկտները կարող են ժառանգել հատկություններ և մեթոդներ այլ օբյեկտներից:
Յուրաքանչյուր օբյեկտ ունի ներքին [[Prototype]] հատկություն (մասին հասանելի է __proto__ կամ Object.getPrototypeOf-ի միջոցով), որը ցույց է տալիս մյուս օբյեկտին՝ պրոտոտիպին: Եթե օբյեկտի հատկությանը հասնելիս այն չի գտնվում, որոնումը շարունակվում է պրոտոտիպում, ապա պրոտոտիպի պրոտոտիպում և այդպես շարունակ, մինչև հասնել null-ին:
Այսպիսով, պրոտոտիպների շղթաներ ստեղծելու և ժառանգությունը իրականացնել առանց դասերի (համաձայն որ ժամանակակից JS տարբերակներում կա դասերի սինտաքսիս, որը ներքո օգտագործում է պրոտոտիպներ):
Օրինակ՝
const կենդանի = {
speak() {
console.log('Կենդանին խոսում է');
}
};
const շուն = Object.create(կենդանի);
շուն.bark = function() {
console.log('Հա!');
};
շուն.bark(); // Հա!
շուն.speak(); // Կենդանին խոսում է (ժառանգված է կենդանից)
Այսպիսով, պրոտոտիպները թույլ են տալիս օբյեկտներին կիսել վարքագիծը և հատկությունները, ինչը հիմքն է JavaScript-ում օբյեկտային ծրագրավորման համար: