Kako funkcioniše sistem prototipa u JavaScriptu?
sobes.tech АИ
Одговор од АИ
У JavaScript-у систем прототипа је механизам наслеђивања у којем објекти могу наследити својства и методе од других објеката.
Сваки објекат има унутрашњу својство [[Prototype]] (доступно преко __proto__ или Object.getPrototypeOf), које указује на други објекат — прототип. Ако приликом приступа својству објекта оно није пронађено, претрага се наставља у прототипу, затим у прототипу прототипа и тако даље, док се не достигне null.
Ово омогућава стварање ланаца прототипа и имплементацију наслеђивања без класа (иако у модерним верзијама JS постоји синтакса класа, која користи прототипе у позадини).
Пример:
const животиња = {
speak() {
console.log('Животиња говори');
}
};
const пас = Object.create(животиња);
пас.bark = function() {
console.log('Га!');
};
пас.bark(); // Га!
пас.speak(); // Животиња говори (наследјено од животиња)
Овим путем, прототипи омогућавају објектима да деле понашање и својства, што је основа објектно-оријентисаног програмирања у JavaScript-у.