Ako funguje systém prototypov v JavaScript?
sobes.tech AI
Odpoveď od AI
V JavaScripte je systém prototypov mechanizmus dedičnosti, v ktorom objekty môžu dediť vlastnosti a metódy od iných objektov.
Každý objekt má vnútornú vlastnosť [[Prototype]] (prístupnú cez __proto__ alebo Object.getPrototypeOf), ktorá odkazuje na iný objekt — prototyp. Ak pri prístupe k vlastnosti objektu nie je vlastnosť nájdená, hľadanie pokračuje v prototypu, potom v prototypu prototypu a tak ďalej, kým sa nedosiahne null.
Toto umožňuje vytváranie reťazcov prototypov a implementáciu dedičnosti bez tried (hoci v moderných verziách JS existuje syntaxa tried, ktorá využíva pod kapotou prototypy).
Príklad:
const zviera = {
speak() {
console.log('Zvieratko hovorí');
}
};
const pes = Object.create(zviera);
pes.bark = function() {
console.log('Haf!');
};
pes.bark(); // Haf!
pes.speak(); // Zvieratko hovorí (zdedené od zviera)
Takto prototypy umožňujú objektom zdieľať správanie a vlastnosti, čo je základ objektovo orientovaného programovania v JavaScripte.