Sobes.tech
Middle

De ce funcțiile array sunt considerate obiecte în JavaScript?

sobes.tech AI

Răspuns de la AI

În JavaScript, array-urile sunt un tip special de obiect.

Principalele motive:

  • Moștenirea de la Object.prototype: Array-urile moștenesc proprietăți și metode de la prototipul de bază Object.prototype. Acest lucru le permite să aibă metode comune, cum ar fi toString(), hasOwnProperty() și altele, caracteristice obiectelor.
  • Proprietăți: Array-urile au proprietăți, la fel ca obiectele. Cea mai comună este length, care indică numărul de elemente. Accesul la elementele array-ului se face prin chei numerice, similar cu accesul la proprietățile unui obiect prin chei de șiruri, doar că în acest caz cheile sunt reprezentări de șiruri ale numerelor.
  • Comportament: În ciuda specializării lor (colecție ordonată de elemente după indici numerici), comportamentul array-urilor în multe privințe coincide cu cel al obiectelor obișnuite. De exemplu, li se pot adăuga proprietăți arbitrare (deși nu este recomandat pentru a menține lizibilitatea).
// Array ca obiect specializat
let myArray = [1, 2, 3];

// Accesarea proprietății length
console.log(myArray.length); // Va afișa 3

// Accesarea unui element după index (cheia "0")
console.log(myArray[0]); // Va afișa 1

// Adăugarea unei proprietăți arbitrare (non-standard)
myArray.myProperty = "hello";
console.log(myArray.myProperty); // Va afișa "hello"

// Verificarea existenței unei proprietăți moștenite de la Object.prototype
console.log(myArray.hasOwnProperty('length')); // Va afișa true