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