Sobes.tech
Middle

Чаро функсияҳои массивҳо дар JavaScript ҳамчун объектҳо баррасӣ мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар JavaScript, массивҳо махсуси навъи объект мебошанд.

Асосӣ сабабҳо:

  • Меросгирӣ аз Object.prototype: Массивҳо хусусиятҳо ва усулҳоро аз прототипи асосии Object.prototype мерос мегиранд. Ин имкон медиҳад, ки онҳо усулҳои умумиро дошта бошанд, мисли toString(), hasOwnProperty() ва дигарон, ки барои объектҳо хос мебошанд.
  • Хусусиятҳо: Массивҳо хусусиятҳо доранд, ҳамон тавр, ки объектҳо доранд. Беҳтарини онҳо length аст, ки шумораи элементҳоро нишон медиҳад. Дастрасӣ ба элементҳои массив тавассути калидҳои рақамӣ сурат мегирад, ки монанди дастрасӣ ба хусусиятҳои объект тавассути калидҳои сатрӣ, танҳо дар ин ҳолат калидҳо намоиши сатрии рақамҳо мебошанд.
  • Раванди кор: Бо вуҷуди махсусгардонии онҳо (коллексияи мураттабшудаи элементҳо дар асоси индексҳои рақамӣ), рафтори массивҳо дар бисёре аз ҷиҳатҳо бо рафтори объектҳои оддӣ мувофиқат мекунад. Масалан, ба онҳо хусусиятҳои тасодуфӣ илова кардан мумкин аст (гарчанде ки ин тавсия дода намешавад барои нигоҳ доштани хонданӣ).
// Массив ҳамчун объекти махсус
let myArray = [1, 2, 3];

// Дастрасӣ ба хусусияти length
console.log(myArray.length); // Натиҷа 3

// Дастрасӣ ба элементи индексӣ (калиди "0")
console.log(myArray[0]); // Натиҷа 1

// Илова кардани хусусияти тасодуфӣ (нестандартӣ)
myArray.myProperty = "hello";
console.log(myArray.myProperty); // Натиҷа "hello"

// Санҷиши мавҷудияти хусусияти меросгирифта аз Object.prototype
console.log(myArray.hasOwnProperty('length')); // Натиҷа true