Sobes.tech
Middle

Cum funcționează sistemul de prototipuri în JavaScript?

sobes.tech AI

Răspuns de la AI

În JavaScript, sistemul de prototipuri este un mecanism de moștenire în care obiectele pot moșteni proprietăți și metode de la alte obiecte.

Fiecare obiect are o proprietate internă [[Prototype]] (accesibilă prin __proto__ sau Object.getPrototypeOf), care indică către un alt obiect — prototipul. Dacă o proprietate nu este găsită la accesarea unui obiect, căutarea continuă în prototip, apoi în prototipul prototipului și tot așa, până când se ajunge la null.

Acest lucru permite crearea de lanțuri de prototipuri și implementarea moștenirii fără clase (deși în versiunile moderne de JS există sintaxa de clase, care folosește în spate prototipuri).

Exemplu:

const animal = {
  speak() {
    console.log('Animalul vorbește');
  }
};

const câine = Object.create(animal);
câine.bark = function() {
  console.log('Ham!');
};

câine.bark();    // Ham!
câine.speak();   // Animalul vorbește (moștenit de la animal)

Astfel, prototipurile permit obiectelor să împartă comportamente și proprietăți, ceea ce stă la baza programării orientate pe obiect în JavaScript.