როგორ მუშაობს 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-ში ობიექტზე ორიენტირებულ პროგრამირებაში საფუძველია.