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